标签:
今天在学习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() 会为你妥善处理。
标签:
原文地址:http://www.cnblogs.com/xueweihan/p/4555705.html