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文件和目录操作方法大全(含实例)
Mar 12 Python
python通过线程实现定时器timer的方法
Mar 16 Python
python批量制作雷达图的实现方法
Jul 26 Python
Python使用正则表达式实现文本替换的方法
Apr 18 Python
Python实现的随机森林算法与简单总结
Jan 30 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
Tensorflow 多线程与多进程数据加载实例
Feb 05 Python
Python类中的装饰器在当前类中的声明与调用详解
Apr 15 Python
浅谈matplotlib中FigureCanvasXAgg的用法
Jun 16 Python
Python常用数据分析模块原理解析
Jul 20 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
Sep 20 Python
python正则表达式re.search()的基本使用教程
May 21 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
php 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
JavaScript开发时的五个注意事项
2007/12/08 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
JS 实现列表与多选框选择附预览动画
2014/10/29 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
元素全屏的设置与监听实例
2017/11/28 Javascript
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
Python连接数据库学习之DB-API详解
2017/02/07 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
使用python对excle和json互相转换的示例
2018/10/23 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
2019/12/25 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
服装采购员岗位职责
2014/03/15 职场文书
求职自我推荐信
2014/06/25 职场文书
公司感谢信范文
2015/01/22 职场文书
明确岗位职责
2015/02/14 职场文书
2015年度保密工作总结
2015/04/24 职场文书
休学证明范本
2015/06/19 职场文书