码迷,mamicode.com
首页 > 其他好文 > 详细

初学Flask(1)

时间:2015-06-06 00:14:02      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

今天在学习Flask,边看官方文档一边动手运行例子,以注释的形式写了一些笔记,分享给大家。

Flask官方文档,快速入门:

ex1:

#coding:utf-8
#######################
# 1.URL的解析
######################

from flask import Flask
app = Flask(__name__)

@app.route(/a) 
#这里是用于测试笔记2的
def a():
    return test a
    
@app.route(/user/<username>)
def show_user_profile(username):
    # show the user profile(简介) for that user
    # 可以接收url传递的变量
    return User %s % username

@app.route(/post/<int:post_id>)
def show_post(post_id):
    # show the post with the given id, the id is an integer
    # 在地址后面加/post/211654,页面显示Post 211654
    return Post %d % post_id
    
@app.route(/hello) #修饰url
def hello_world():
    return Test debug

@app.route(/)
def index():
    return Index Page

if __name__ == __main__:
    app.debug = True  # 作用是修改完文件,服务器自动重启
    app.run(host = 0.0.0.0)
    
# 笔记:
# 1.route(线路)——传入线路(url)触发route下面的方法
# 2.注意区别
# route(‘/a/‘)和route(‘/a‘) 系统不管是‘/a/‘还是‘/a‘
# 都会为其自动增加‘/‘,‘/a/‘正常运行,‘/a‘报错!
#   

 

ex2:

#coding:utf-8
#######################
# 2.URL的构建
######################

# url_for()函数是用来构建指定函数的URL
from flask import Flask, url_for
app = Flask(__name__)

@app.route(/)
def index():
    pass
    
@app.route(/login)
def login():
    pass
    
@app.route(/user/<username>)
def profile(username):
    pass
    
# 告诉 Flask 我们正在处理一个请求,而实际上也许我们
# 正处在交互 Python shell 之中,并没有真正的请求(后面再说)
with app.test_request_context(): 
    print url_for(index)
    print url_for(login)
    print url_for(login, next=/)
    print url_for(profile, username=Xue Wei Han)
    

#为什么不在把 URL 写死在模板中,反而要动态构建?有三个很好的理由:

# 1.反向解析通常比硬编码 URL 更直观。同时,更重要的是你可以只在一个地方改变 URL ,而不用到处乱找。
# 2.URL 创建会为你处理特殊字符的转义和 Unicode 数据,不用你操心。
# 3.如果你的应用是放在 URL 根路径之外的地方(如在 /myapplication 中,不在 / 中) 
# url_for() 会为你妥善处理。

 

初学Flask(1)

标签:

原文地址:http://www.cnblogs.com/xueweihan/p/4555705.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!