python web开发-flask中url带斜线/和不带斜线/的区别详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python web开发-flask中url带斜线/和不带斜线/的区别详解相关的知识,希望对你有一定的参考价值。

flask中带斜线和不带斜线的url

通过flask进行路由配置的时候,有一个细节,就是同样的url,带上”/”和不带”/”有什么区别。

举例说明:

比如有个url,名字为”/url”

先同时定义两种url,一种带”/”,一种不带”/”,如下代码:

@app.route("/url")
def urlWithOut():
return "url with out /"


@app.route("/url/")
def urlWith():
return "url with /"

访问/url,效果如下:

技术分享图片

访问/url/效果如下:

技术分享图片

然后把/url这个定义注释掉,再次访问/url,发现会跳转到/url/这个地址上

如果把/url/这个定义注释掉,保留/url这个定义,再次访问/url/,发现报404错误

技术分享图片

结论,当带斜线和不还斜线的url同时存在时,两个url相互独立可以各自处理各自的逻辑。

当带斜线的url存在,不带斜线的url不存在时,带斜线的url和不带斜线的url可以同时访问不过返回的结果是同样的。

当带斜线的url不存在,不带斜线的url存在时,带斜线的url返回404,不带斜线的url可正常访问。

以上是关于python web开发-flask中url带斜线/和不带斜线/的区别详解的主要内容,如果未能解决你的问题,请参考以下文章

[分享]《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码

Flask关于Flask的request属性

flask web开发是前端还是后端

python实战Flask带参URL传值的方法

tengine 末尾反斜线问题

python web开发-flask中日志的使用