flask里面的endpoint和blueprint要怎么理解

发布于 2022-09-01 15:23:17 字数 42 浏览 8 评论 0

flask里面的endpoint和blueprint要怎么理解

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱要勇敢去追 2022-09-08 15:23:17

如果你有写几个简单的示例应该能够注意到,每次通过url请求的时候,flask都会根据url找到处理它的view函数,如下:

pythonuser = Blueprint('user', __name__)
@user.route('/greeting')
def greeting():
    return 'Hello, lowly normal user!'

在未指定endpoint的时候默认把greeting函数作为endpoint。简单来说endpoint就是一个标识符用于决定当一个请求来了之后由那一个逻辑单元去执行。

而blueprint是flask中组织view函数或者说组织各种静态资源的一种方式,就像我们书的目录一样,这样当一个请求过来的时候都可以通过这个目录找到对应的view函数,同时对于各个view函数,其他的view函数都是对其可见的,各个view函数之间也可以通过这个目录找到其他的view函数,如下:

user.py

user = Blueprint('user', __name__)
@user.route('/greeting')
def greeting():
    return 'Hello, lowly normal user!'

admin.py

admin = Blueprint('admin', __name__)
@admin.route('/greeting')
def greeting():
    return 'Hello, administrative user!'

分布在不同文件下的不同view函数,可以通过url_for('admin.greeting')url_for('user.greeting')来跳转。对于这两个view来说,对方都是可见的,可以通过这个方式来调用。就像我看书看到第一章的第一节,突然想看第三章的第一节差不多意思。

总结下来就是,bluepint是实现通过url找到view的一套机制;而endpoint是实现这套机制时给该url定义的一个标识符。大概就是这样了,不知道这样讲有没有明白。

思慕 2022-09-08 15:23:17

感谢,之前也看不太怎么看懂blueprint,现在有点理解了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文