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可正常访问。
原文地址:http://blog.51cto.com/12482328/2088474
时间: 2024-10-11 04:44:29