Flask框架URL管理操作示例【基于@app.route】


Posted in Python onJuly 23, 2018

本文实例讲述了Flask框架URL管理操作。分享给大家供大家参考,具体如下:

动态URL规则

URL规则可以添加变量部分,也就是将符合同种规则的URL抽象成一个URL模式,如“/item/1/”,“/item2/”,假如不抽象,我们就得这样写:

@app.route("/item/1/")

动态URL写法:

@app.route("/item1/<id>/")
def item1(id):
  pass

尖括号的内容是动态的,凡是匹配到的/item/前缀的URL都会被映射到这个路由上,在内部把id作为参数而获得。它使用了特殊的字段标记,默认类型是字符串。如果需要制定参数类型需要标记成这样的格式,converter有下面几种:

  • string:接收任何没有斜杠”/”的文本(默认)
  • int:接收整数
  • float:同int,但是接收浮点数
  • path:和默认的相似,但也接收斜杠
  • uuid:只接受uuid字符串
  • any:可以指定多种路径,但是需要传入参数
@app.route("/any(a,b):page_info")
def page_info(page_info):
  pass

访问/a/和访问/b/都符合这个规则,如果不希望定制子路径,还可以通过传递参数的方式,例如:/item1?name=laowang。默认使用的是GET方法才能请求,开发者可以通过request.args.get("name")。如果需设定使用POST请求,在URL后面,添加methods=["POST"],如app.route("/item1",methods=["POST"]),开发者可以使用 request.form.get('name')获得传入的name的值。

唯一URL

Flask的URL规则基于Werkzeug的路由模块。这个模块背后的思想是基于Apache以及更早的HTTP服务器的主张,希望保证优雅且唯一的URL。

举个栗子:

@app.route("/about/")
def about():
  ...

上述栗子像一个文件系统中的文件夹,访问一个结尾不带斜线的URL会被重定向到带斜线的规范的URL上去,这样也有助于避免搜索引擎引同一个页面两次.

再举个栗子:

@app.route("/about")
def about():
  ...

URL不带斜线,当用户访问带斜线的URL”/about/”会产生一个Not Found的错误。

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

Python 相关文章推荐
python读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 Python
python基础教程之分支、循环简单用法
Jun 16 Python
Python用户推荐系统曼哈顿算法实现完整代码
Dec 01 Python
Python wxpython模块响应鼠标拖动事件操作示例
Aug 23 Python
python抓取网页内容并进行语音播报的方法
Dec 24 Python
python中的colorlog库使用详解
Jul 05 Python
Python实现微信翻译机器人的方法
Aug 13 Python
python django 原生sql 获取数据的例子
Aug 14 Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 Python
python数据预处理 :数据抽样解析
Feb 24 Python
Python应用自动化部署工具Fabric原理及使用解析
Nov 30 Python
Python selenium模拟网页点击爬虫交管12123违章数据
May 26 Python
python中的turtle库函数简单使用教程
Jul 23 #Python
Flask框架配置与调试操作示例
Jul 23 #Python
python实现时间o(1)的最小栈的实例代码
Jul 23 #Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 #Python
Flask框架Flask-Login用法分析
Jul 23 #Python
Django中的文件的上传的几种方式
Jul 23 #Python
flask中的wtforms使用方法
Jul 21 #Python
You might like
php 文件上传代码(限制jpg文件)
2010/01/05 PHP
php快速url重写更新版[需php 5.30以上]
2010/04/25 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
javascript获取web应用根目录的方法
2014/02/12 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
详解react-redux插件入门
2018/04/19 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
2018/09/03 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python中的内置函数getattr()介绍及示例
2014/07/20 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
2020/01/17 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
Python手动或自动协程操作方法解析
2020/06/22 Python
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
英语翻译系毕业生求职信
2013/09/29 职场文书
工地门卫岗位职责
2013/12/30 职场文书
七一表彰活动方案
2014/01/18 职场文书
初一科学教学反思
2014/01/27 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
个人授权委托书
2014/04/03 职场文书
影视广告专业求职信
2014/09/02 职场文书
机关作风建设剖析材料
2014/10/11 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书
大学体育课感想
2015/08/10 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
微软PC Health Check电脑健康状况检查应用下载(Win11配置检测工具)
2021/06/26 数码科技