flask 快速入门-04 之 `唯一 URLs/重定向行为`
2015-04-21 18:02
393 查看
唯一 URLs
带
不带
构建URL
使用
主要是演示一下url的拼接后的效果,下面这个是我练习写了一个简单的小例子。以后有更复杂的应用例子,到时候在补充。
@app.route('/projects/') def projects(): return 'The project page' @app.route('/about') def about(): return 'The about page'
Flask的
URL规则是基于
Werkzeug的
routing模块。
带
/,访问一个结尾不带斜线的
URL会被
Flask重定向到带斜线的规范URL去。
不带
/,访问结尾带
/的
URL会产生一个
404“Not Found”错误。
构建URL
使用
url_for()函数来针对一个特定的函数构建一个
URL。它能够接受函数名作为第一参数,以及一些关键字参数, 每一个关键字参数对应于 URL 规则的变量部分。未知变量部分被插入到 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 ... >>> with app.test_request_context(): ... print url_for('index') ... print url_for('login') ... print url_for('login', next='/') ... print url_for('profile', username='John Doe') ... / /login /login?next=/ /user/John%20Doe
主要是演示一下url的拼接后的效果,下面这个是我练习写了一个简单的小例子。以后有更复杂的应用例子,到时候在补充。
#coding=utf-8 from flask import Flask, url_for, redirect app = Flask(__name__) @app.route('/') def index(): return redirect(url_for('login')) @app.route('/<path:page>/') def all(page): if page == "abc": return redirect(url_for('about')) else: return "Result %s " % page @app.route('/login/') def login(): return "This's Login Page!" @app.route('/about/') def about(): return "This's About Page!" if __name__ == "__main__": app.run(host='0.0.0.0', port=80, debug=True)
相关文章推荐
- Expression Blend实例中文教程(9) - 行为快速入门Behaviors
- 快速入门系列--WebAPI--04在老版本MVC4下的调整
- GeoTools Eclipse 快速入门04
- 从另一个小程序接着说 - C++快速入门04
- Flask 快速入门
- MySQL快速入门04----数据类型
- flask-security(一)快速入门
- Flask-RESTful 快速入门
- [转]Ultra Fractal教程系列04——快速入门教程01——创建一个分形图像
- 快速入门系列--MVC--04模型
- flask框架实战—简单图片社交网站(一):Python语言快速入门
- AngularJS快速入门指南04:指令
- [python][Flask] 快速入门
- Flask快速入门
- flask快速入门
- Expression Blend实例中文教程(9) - 行为快速入门Behaviors
- Log4Qt快速入门——Log4Qt日志输出重定向源码解析
- flask-带你快速入门
- Flask快速入门
- Flask简介,安装,demo,快速入门