Flask框架学习笔记之路由和反向路由详解【图文与实例】


Posted in Python onAugust 12, 2019

本文实例讲述了Flask框架学习笔记之路由和反向路由。分享给大家供大家参考,具体如下:

#-*- coding:utf-8 -*-
from flask import Flask, request, url_for
app = Flask(__name__)
# 路由
@app.route("/")
# 视图函数
def index():
  return "<h1>Hello World!</h1>"
# 新的user路由
@app.route("/user", methods = ['POST'])
def hello_user():
  return "<h1>Hello User!</h1>"
# 动态路由。使用<>圈起来,输入网址时输入
@app.route("/users/<id>")
# 传入id参数
def user_id(id):
  return "<h1>Hello user: " + id
# 也可以不传参显示动态参数
@app.route("/query_user")
def query_user():
  id = request.args.get('id')
  return "query_user: " + id
# 反向路由,通过视图函数反导出url地址
@app.route("/query_url")
def query_url():
  return "query_url: " + url_for('query_user')
if __name__ == '__main__':
  app.run()

最基础的路由:@app.route('/'),也为根路由,程序运行后使用浏览器打开http://127.0.0.1:5000/即可访问。

# 路由
@app.route("/")
# 视图函数
def index():
  return "<h1>Hello World!</h1>"

Flask框架学习笔记之路由和反向路由详解【图文与实例】

视图函数就是被当前路由所修饰的函数,return返回html相关内容。

路由也可以修改当前的http方法来打开,flask路由默认的http方法是GET,这里使用methods=['POST']将http方法改为POST。

访问网页时要更改http方法:

# 新的user路由
@app.route("/user", methods = ['POST'])
def hello_user():
  return "<h1>Hello User!</h1>"

Flask框架学习笔记之路由和反向路由详解【图文与实例】

flask路由也可接受动态参数,动态参数需要使用<>包裹表示。

# 动态路由。使用<>圈起来,输入网址时输入
@app.route("/users/<id>")
# 传入id参数
def user_id(id):
  return "<h1>Hello user: " + id

Flask框架学习笔记之路由和反向路由详解【图文与实例】

需要在网址后输入任意合法的值来传入动态参数。

也可以使用request方法实现动态参数传递。

# 也可以不传参显示动态参数
@app.route("/query_user")
def query_user():
  id = request.args.get('id')
  return "query_user: " + id

Flask框架学习笔记之路由和反向路由详解【图文与实例】

输入网址时最后要加上?id=任意值,即可达到目的。

反路由通过视图函数表现出url地址,需使用url_for方法指向一个url。

# 反向路由,通过视图函数反导出url地址
@app.route("/query_url")
def query_url():
  return "query_url: " + url_for('query_user')

Flask框架学习笔记之路由和反向路由详解【图文与实例】

本质是根据函数名反向生成url,使用函数 url_for() 来针对一个特定的函数构建一个 URL。它能够接受函数名作为第一参数,以及一些关键字参数, 每一个关键字参数对应于 URL 规则的变量部分。未知变量部分被插入到 URL 中作为查询参数。

这里用到了chrome浏览器的一个postman插件,具体安装方法参考https://segmentfault.com/a/1190000008512891

希望本文所述对大家基于flask框架的Python程序设计有所帮助。

Python 相关文章推荐
python自动化工具日志查询分析脚本代码实现
Nov 26 Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
利用信号如何监控Django模型对象字段值的变化详解
Nov 27 Python
用Python3创建httpServer的简单方法
Jun 04 Python
Python+selenium点击网页上指定坐标的实例
Jul 05 Python
Django 数据库同步操作技巧详解
Jul 19 Python
python SVM 线性分类模型的实现
Jul 19 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
Python如何使用paramiko模块连接linux
Mar 18 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 Python
利用python做数据拟合详情
Nov 17 Python
python实现图片压缩代码实例
Aug 12 #Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
Aug 12 #Python
一行Python代码过滤标点符号等特殊字符
Aug 12 #Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
Aug 12 #Python
Django认证系统实现的web页面实现代码
Aug 12 #Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 #Python
django-filter和普通查询的例子
Aug 12 #Python
You might like
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
PHP常见的几种攻击方式实例小结
2019/04/29 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
JavaScript实现拼音排序的方法
2012/11/20 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
Node.js学习教程之Module模块
2019/09/03 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
python实现封装得到virustotal扫描结果
2014/10/05 Python
python使用range函数计算一组数和的方法
2015/05/07 Python
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
详细介绍Python的鸭子类型
2016/09/12 Python
Python实现简单过滤文本段的方法
2017/05/24 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
计算机专业个人求职信范例
2013/09/23 职场文书
文言文形式的学生求职信
2013/12/03 职场文书
商场消防管理制度
2014/01/12 职场文书
护士辞职信模板
2014/01/20 职场文书
责任心演讲稿
2014/05/14 职场文书
5s标语大全
2014/06/23 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
2014个人年度工作总结
2014/12/15 职场文书
先进教师个人总结
2015/02/11 职场文书
庆元旦主持词
2015/07/06 职场文书