例子

from flask import Flask
import time
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoopapp = Flask(__name__)@app.route('//abc//a')
def index():# time.sleep(5)return 'OK'@app.route('/abc//a')
def index1():return 'hhhh'if __name__ == '__main__':http_server = HTTPServer(WSGIContainer(app))http_server.listen(5000)IOLoop.instance().start()

对于Flask,如上面这样的路由映射,是如何处理的呢?

  我们如果运行一下会发现,我们无论访问 'http://127.0.0.1:5000//abc//a' 还是 'http://127.0.0.1:5000/abc//a'返回的结果都是函数index1的结果,这是为什么?

分析源代码,debug我们发现,在werkzeug/routing.py中的1530行,path传递的过程中,werkzeug会将path_info-->>' //abc//a '的左侧的 ' / '去掉,然后再和前面的

http://127.0.0.1:5000拼接,所以访问'http://127.0.0.1:5000//abc//a'这个路由会路由到 'http://127.0.0.1:5000/abc//a',返回的是index1函数的结果。

转载于:https://www.cnblogs.com/lycsdhr/p/11203566.html

Flask 路由映射对于双斜线的处理 //a//b相关推荐

  1. Flask路由分发及转换器

    引言 本文重点介绍,Flask路由分发及访问静态资源. 路由分发 app.route 装饰器的作用是将路由映射到视图函数,从浏览器输入对应的 url 地址,Flask程序,就会根据 url 找到对应的 ...

  2. python3 flask 路由

    原文链接: python3 flask 路由 上一篇: Python3 requests 添加 cookie 下一篇: python 运行 linux 命令 from flask import Fla ...

  3. flask -- 路由与视图函数

    原文链接 1. 概述 路由 是MVC架构的Web框架中相当重要的一个概念,也是本节课程的重点.顾名思意,路由就是在迷茫中找出一条路的意思.在Flask框架中,路由 就表示为用户请求的URL找出其对应的 ...

  4. 深入理解Flask路由(2)- werkzeug 路由系统

    本系列共三篇文章: 深入理解Flask路由的实现机制 深入理解Flask路由(2)- werkzeug 路由系统 深入理解Flask路由 (3) - 动态 url 及转换器 上一篇我们说到:Flask ...

  5. flask --- 路由与视图函数

    1.概述 路由是Model View Controller架构的Web框架中的相当重要的一个概念.路由就是在迷茫中找出一条路的意思.在Flack框架中,路由表示为用户请求的URL找出其对应的处理函数的 ...

  6. 一个简单的路由映射,让你的树莓派通过SSH外网可访问

    2019独角兽企业重金招聘Python工程师标准>>> 当想在其他的地方也想控制下树莓派怎么办,其实只需要简单的做个路由映射就OK.完全可以把你的树莓派当做学习linux的平台,抽空 ...

  7. WCF自定义地址路由映射(不用svc文件)

    一般在创建WCF服务时会用Serivce.svc文件访问,地址如:http://localhost/applicationname/Serivce.svc/Name 现在用路由映射成:http://l ...

  8. 组合表头_单双斜线表头——520,想单就单,想双就双

    斜线表头,一个BOSS爱,制表人恨的表头,对于后续数据的汇总处理,会带来不小的麻烦. 不过,本着只要BOSS喜欢高兴就会加工资,我们就有钱买520礼物了这个美好愿望,我们还是得掌握下这个感觉很有逼格的 ...

  9. SAP Spartacus B2B OrgUnit 和 OrgUser 的路由映射差异比较

    SAP Spartacus B2B 页面类似 SAP Fiori Launchpad,共有 6 个 tile(磁贴),点击某个磁贴,能跳转到对应的列表页面. 路由映射就是指点击某个 url 之后(例如 ...

最新文章

  1. 截断句子取前k个单词
  2. mysql悲观锁和乐观锁
  3. Linux 命令之 cut -- 分割字符串,显示或删除指定字段的内容,合并文件内容
  4. 睡眠音频分割及识别问题(九)--Android下的YAMNet
  5. 使用durid的ConfigFilter对数据库密码加密
  6. 运行android程序时显示stop,Android系统.应用程序关闭时WorkManager是否正在运行?
  7. c++父类和子类转化致命的代码错误
  8. 什么叫诚实_李现自爆平常最爱看小姐姐!IG按赞被抓包 网友赞:诚实
  9. java mail 1.4.2.jar_javamail
  10. 51nod-1350:斐波那契表示
  11. 什么是qq文件服务器,qq 收到的文件 - 卡饭网
  12. object c中 new和alloc区别
  13. galton板matlab,Matlab实现Galton板的动画演示
  14. dell无法启动计算机,戴尔电脑装系统蓝屏无法启动怎么办
  15. 前端性能优化(三)——浏览器九大缓存方法
  16. Sql Server——Sql Server中进行查询操作时提示“对象名无效”
  17. js 取表格table td值 botton a
  18. 爬取B站视频 - m4s文件的相关研究
  19. 企业微信2020年翻倍增长背后:更新27个版本、迭代1000多次
  20. 2021-08-02网关http或tcp收发等极简物联网通用json协议设计

热门文章

  1. java学习(105):字符串indexof,spilt,substring方法
  2. Keil5 编译生成bin二进制文件的设置方法
  3. java canvas 缩放图片_详解如何用HTML5 Canvas API控制图片的缩放变换
  4. Webpack基础之加载器
  5. 快速入门 Jupyter notebook
  6. [机器学习笔记]Note14--推荐系统
  7. win10电脑插耳机没声音_电脑没有声音是什么原因 教您电脑突然没声音怎么解决...
  8. nodejs+supertest+mocha 接口测试环境搭建
  9. 高级PHP工程师所应该具备的专业素养
  10. web APIS