【发布时间】:2016-05-04 02:02:45
【问题描述】:
在我的第一个 Flask 应用程序中,我正在试验以斜杠结尾的 URL 与不以斜杠结尾的 URL,并且看到一些意外的浏览器行为。
-
我的视图函数是这样的:
@app.route('/hello') def hello_world(): return 'Hello World!'那我可以去
127.0.0.1:5000/hello看“Hello World”。 -
我把网址改成:
@app.route('/hello/') def hello_world(): return 'Hello World!'然后我可以转到
127.0.0.1:5000/hello,但浏览器会重定向到127.0.0.1:5000/hello/。 -
我把网址back改成
/hello:@app.route('/hello') def hello_world(): return 'Hello World!'
那么我无法访问/hello 或 /hello/。当我访问127.0.0.1:5000/hello 时,浏览器仍然会重定向 到127.0.0.1:5000/hello/ 并且响应是 404。除非我回滚到第 2 步,否则我什么都看不到。
发生了什么事?
【问题讨论】:
-
flask 输出到底是什么错误?
-
Flask 可能做了 301(永久重定向),被浏览器缓存。你能追踪到 127.0.0.1:5000/hello 响应的状态码吗?
-
没有错误,浏览器只查看404页面。