Flask最小原型与唯一URl原则

Posted Aspirantlu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask最小原型与唯一URl原则相关的知识,希望对你有一定的参考价值。

Flask最小原型与唯一URl原则

编写一个Flask的最小模型 fisher.py:

from flask import Flask

app = Flask(__name__)


@app.route('/hello')
def hello():
    # 另一种 基于类的视图(也叫即插视图)
    return 'Hello, lulu'


app.run()

然后进入虚拟环境,启动项目

python3.6 fisher.py

此时在浏览器访问 http://127.0.0.1:5000/hello) 时,会打印 Hello, lulu ,如果我在后面多加了 / ,也就是 http://127.0.0.1:5000/hello/ ,那么就会报错404。

那么如何兼容这两者呢,只要在注册路由时将 url 路径最后加上 / 即可。

from flask import Flask

app = Flask(__name__)


@app.route('/hello/')
def hello():
    # 另一种 基于类的视图(也叫即插视图)
    return 'Hello, lulu'


app.run()

再次访问 http://127.0.0.1:5000/hello 时,

会重定向到 http://127.0.0.1:5000/hello/

直接访问 http://127.0.0.1:5000/hello/ 时,

为什么当我访问 http://127.0.0.1:5000/hello 时,会重定向呢。是因为,如果说不做重定向, 带 / 和 不带 / 都可以访问,实质是同一个视图函数(或资源)对应的是两个不同的路由,没有保证唯一URL原则。

以上是关于Flask最小原型与唯一URl原则的主要内容,如果未能解决你的问题,请参考以下文章

Flask最小原型与唯一URl原则

Python Flask高级编程

Flask-0-最小原型

Flask-0-最小原型

Python Flask高级编程

Python Flask高级编程