Flask 中的路由与反向路由
2015-09-18 11:53
615 查看
路由
装饰器@app.route()告诉
Flask哪个
URL才能触发我们的函数。这也就是路由.
之后 ,定义一个函数,该函数名也是用来给特定函数生成 URLs,并且返回我们想要显示在用户浏览器上的信息。
from flask import Flask,request,url_for app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' @app.route('/user', methods=['GET']) def hello_user(): return 'hello user'
路由的本质
路由的本质,是URL绑定,
@app.route()装饰器用于把一个函数绑于一个
URL上,如上,
/绑定了
hello_world()函数,
/user绑定了
hello_user()函数
路由变量规则
给 URL 增加变量的部分,把一些特定的字段标记成 。这些特定的字段将作为参数传入到你的函数中。当然也可以指定一个可选的转换器通过规则 。@app.route('/users/<id>',methods=['GET']) def user_id(id): ''' 请求地址为http://127.0.0.1:5000/users/123 http://127.0.0.1:5000/users/weixuan ''' return 'hello user:'+id
参数形式的url
@app.route('/query_user') def query_user(): ''' http://127.0.0.1:5000/query_user?id=123 ''' id = request.args.get('id') return 'query user:'+id
反向路由
本质是根据函数名反向生成url,使用函数url_for()来针对一个特定的函数构建一个 URL。它能够接受函数名作为第一参数,以及一些关键字参数, 每一个关键字参数对应于 URL 规则的变量部分。未知变量部分被插入到 URL 中作为查询参数。
# -*- coding: utf-8 -*- from flask import Flask,request,url_for @app.route('/test') def query_user(): ''' http://127.0.0.1:5000/test?id=123 ''' id = request.args.get('id') return 'query user:'+id @app.route('/query_url') def query_url(): ''' 反导出 query_user函数名对应的url地址 ''' return 'query url:'+url_for('query_user')
请求地址
http://127.0.0.1:5000/query_url,之后,打印的是
query url:/test
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 如何使用 Flask 编写 Python Web API
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例