itxb

 

通过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可正常访问。

相关文章: