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轻松查到删除自己的微信好友
Jan 10 Python
使用py2exe在Windows下将Python程序转为exe文件
Mar 04 Python
python中实现迭代器(iterator)的方法示例
Jan 19 Python
TensorFlow高效读取数据的方法示例
Feb 06 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
python实现windows壁纸定期更换功能
Jan 21 Python
Python开发网站目录扫描器的实现
Feb 21 Python
Python3 翻转二叉树的实现
Sep 30 Python
python双向链表原理与实现方法详解
Dec 03 Python
使用python模拟高斯分布例子
Dec 09 Python
python标准库os库的函数介绍
Feb 12 Python
python高阶函数map()和reduce()实例解析
Mar 16 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
全国FM电台频率大全 - 3 河北省
2020/03/11 无线电
php array_intersect()函数使用代码
2009/01/14 PHP
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
windows7下php开发环境搭建图文教程
2015/01/06 PHP
javascript事件问题
2009/09/05 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
2011/04/07 Javascript
js实现上下左右弹框划出效果
2017/03/08 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
2017/12/11 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
2018/05/08 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Python中tell()方法的使用详解
2015/05/24 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
详解python3中tkinter知识点
2018/06/21 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
python创建文件备份的脚本
2018/09/11 Python
用pyqt5 给按钮设置图标和css样式的方法
2019/06/24 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
Python Pandas对缺失值的处理方法
2019/09/27 Python
python定时任务 sched模块用法实例
2019/11/04 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
Python 串口通信的实现
2020/09/29 Python
美国第一香水网站:Perfume.com
2017/01/23 全球购物
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
毕业生求职信的经典写法
2014/01/31 职场文书
毕业生工作求职信
2014/06/30 职场文书
药店促销活动策划方案
2014/08/24 职场文书
软件测试专业推荐信
2014/09/18 职场文书
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏
Spring Boot实现文件上传下载
2022/08/14 Java/Android