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__': app.run()
在访问路由/qwe
的时候,路由应该写成/qwe
,是可以访问到的,但是如果写成/qwe/
则会报错
/qwe
访问
/qwe/
访问
报错代码是404:说明找不到这个url对应的资源
如果代码修改为:
@app.route('/qwe/')#后面加了一个斜杠 def test(): return 'test'
两种访问方式都可以,可以自己试下。
注意到,在浏览器地址栏输入/qwe
时,会自动变成/qwe/
,这是因为flask自动进行了重定向,查看返回的状态码:
表示的是访问的/qwe
被永久的转移到了/qwe/
,所以自动进行了重定向行为。
所以路由末尾不带/的,访问的时候就不能加斜杠。
另外,如果现在修改代码为@app.route('/qwe')
,把斜杠去掉再运行,会一直出错,因为它一直重定向,这时清除浏览器缓存就行。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)