flask第十篇——url_for【3】
继续url_for的知识点
# coding: utf-8
from flask import Flask, url_forimport flaskapp = Flask(__name__) # type: Flaskapp.debug = True
# 根目录@app.route('/')def hello_world():return 'Hello World!'
@app.route('/login/<page_id>/')def login(page_id):return u'登录页面'
@app.route('/list/')def mylist():return url_for('login', page_id=1, title_id=2)
if __name__ == '__main__':app.run()
现在我们在mylist函数中的url_for多传一个参数,这时候会返回什么结果呢,执行代码可以看到:
看上面的代码,如果现在我想在login函数中获取title_id,该怎么获取呢?我们之前已经写过的,我们可以通过修改login函数:
@app.route('/login/<page_id>/')def login(page_id):title_id = flask.request.args.get('title_id') return title_id
这样,在页面访问127.0.0.1:5000/login/2/
页面显示的就是title_id。
现在我们来说url_for的另一个优点,就是它会自动对你传递的内容进行编码:
# coding: utf-8
from flask import Flask, url_forimport flaskapp = Flask(__name__) # type: Flaskapp.debug = True
# 根目录@app.route('/')def hello_world():return 'Hello World!'
@app.route('/login/<page_id>/')def login(page_id):return u'登录页面'
@app.route('/list/')def mylist():return url_for('login', page_id=1, title_id='/')
if __name__ == '__main__':app.run()
上面代码中,我们在mylist函数中给login函数传了一个`title_id='/'`,然后页面中看到:
页面对/进行了ASCII编码,/变成了%2F。这种机制就避免了url的混乱,比如我们地址是127.0.0.1:5000/login/,后面查询字符串中含有/,那地址就成了类似127.0.0.1:5000/login//
这种url形式明显是错误的,但是如果我们用url_for,那么地址 就会自动转换为127.0.0.1:5000/login/%2F
,如此一来就避免了url的错乱。
大家千万不要忽视函数上面的@app.route()
,找了好几个代码显示样式,就是怕大家忽视这个问题。
转载于:https://www.cnblogs.com/qunxiadexiaoxiangjiao/p/9613480.html
flask第十篇——url_for【3】相关推荐
- flask第二十篇——模板【3】
请关注公众号:自动化测试实战 现在我们通过查询字符串的方式给render_template传参,我们就要用到flask库的flask.request.args.get()函数先获取参数,在index. ...
- 数十篇推荐系统论文被批无法复现:源码、数据集均缺失,性能难达预期
作者 | Maurizio Ferrari Dacrema 译者 | 凯隐 责编 | Jane 出品 | AI科技大本营(ID: rgznai100) [导读]来自意大利米兰理工大学的 Maurizi ...
- 十篇文章速览多模态推荐系统的最新进展
本文约3900字,建议阅读7分钟 本文介绍了十篇文章取得更好的模型效果. 为了缓解推荐系统中存在的数据稀疏以及冷启动等问题,部分研究者尝试将多模态信息引入推荐系统中,使模型在训练过程中得到更好的用户和 ...
- 解剖SQLSERVER 第十篇 OrcaMDF Studio 发布+ 特性重温(译)
解剖SQLSERVER 第十篇 OrcaMDF Studio 发布+ 特性重温(译) http://improve.dk/orcamdf-studio-release-feature-recap/ ...
- shell基础二十篇 一些笔记
shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...
- 由浅入深区块链技术,程序员不得不看的十篇好文
http://www.infoq.com/cn/news/2018/01/blockchain-ten-articles 区块链是目前一个比较热门的新概念,蕴含了技术与金融两层概念.从技术角度来看,这 ...
- paradox 修改字段长度_【精华】小学作文400字汇总十篇
[精华]小学作文400字汇总十篇 在日常的学习.工作.生活中,大家都不可避免地要接触到作文吧,作文是由文字组成,经过人的思想考虑,通过语言组织来表达一个主题意义的文体.你知道作文怎样才能写的好吗?以下 ...
- 每天只能发十篇文章的限制引发的连锁反应
上午 啊,就能发十篇,有些想发的等等再发吧 晚上 啊,一天过去了- that is life~
- eureka集群只注册一个_Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇
Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇 本文主要内容: 1:spring cloud整合Eureka总结 本文是由凯哥(凯哥Java:kagejava ...
最新文章
- python psi计算_KL散度,PSI,IV值之间的故事
- Android4: HDMI system in ICS
- mysql 运维 最佳实践_Mysql 开发最佳实践
- pycharm中如何正确配置pyqt5
- office2007右键doc,xls
- 【javascript激增的思考03】MVVM与Knockout
- Linux格式化为物理卷,使用linux的pvs命令格式化输出物理卷信息报表
- 国家开放大学2021春1067知识产权法题目
- 计算机维修的税收编码,维修费税收分类编码是多少?
- Tegra平台构建OpenCV_Building OpenCV for Tegra with CUDA
- c语言查表程序,C语言查表法问题
- qt tab弹出特效_Nuke Studio 12(影视特效合成软件)中文版分享
- ROSbag解压图片
- origin里绘制横纵坐标都不一致的两条曲线
- 已知三角形的三边长a,b,c,利用海伦公式求三角形面积
- J2SE自学(二)——开发工具Eclipse
- SSR(服务端渲染)、CSR(客户端渲染)和预渲染
- 如何制定数据割接方案
- 《Pro SQL Server Internals, 2nd edition》CHAPTER 2 Tables and Indexes-Clustered Indexes
- 秒杀系统设计思路与实战(含源码实现)
热门文章
- 2.1 操作系统的类型与结构
- #HTTP协议学习# (八)拓展-HTTPS协议
- 设计模式总结篇系列:原型模式(Prototype)
- Linux Shell常用技巧(目录)
- 批处理详细教程(三)
- 2016设置方框的尺寸_四种模板脚手架分类、优缺点及参数设置对比
- Debug 和 Release 编译方式
- 字符串异或c语言编写,C语言实现字符串的异或校验.doc
- Linux编译mybatis,使用mybatis assembly插件打成tar包,在linux系统中运行服务-Go语言中文社区...
- python读取txt文件并画图