Flask路由尾部有没有斜杠有什么区别

2022-09-07 09:41:54

URL重定向行为路由的尾部加不加斜杠不一样的,比如:fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defindex():...

URL重定向行为

路由的尾部加不加斜杠不一样的,比如:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
    return 'index page'
@app.route('/qwe')
def test():
    return 'test'
if __name__ == '__main__':
 http://www.cppcns.com   app.run()

在访问路由/qwe的时候,路由应该写成/qwe,是可以访问到的,但是如果写成/qwe/则会报错

/qwe访问

Flask路由尾部有没有斜杠有什么区别

/qwe/访问

Flask路由尾部有没有斜杠有什么区别

报错代码是404:说明找不到这个url对应的资源

Flask路由尾部有没有斜杠有什么区别

如果代码修改为:

@app.route('/qwe/')#后面加了一个斜杠
def test():
    return 'test'

两种访问方式都可以,可以自己试下。

注意到,在浏览器地址栏输入/qwe时,会自动变成/qwe/,这是因http://www.cppcns.com为flask自动进行了重定向,查看返回的状态码:

Flask路由尾部有没有斜杠有什么区别

Flask路由尾部有没有斜杠有什么区别

表示的是访问的/qwe被永久的转移到了/qwe/,所以自动进行了重定向行为。

所以路由末尾不带/的,访问的时候就不能加斜杠。

另外,如果现在修改代码为@app.route('/qwe'),把斜杠去掉再运行,会一直出错,因为它一直重定向,这时清除浏览器缓存就行。

Flask路由尾部有没有斜杠有什么区别

到此这篇关于Flask路由尾部有没有斜杠有什么区别的文章就介绍到这了,更多相关Flask路由尾部斜杠内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!