python - flask里面的endpoint和blueprint要怎么理解
高洛峰
高洛峰 2017-04-17 15:26:10
[Python讨论组]

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
大家讲道理

如果你有写几个简单的示例应该能够注意到,每次通过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定义的一个标识符。大概就是这样了,不知道这样讲有没有明白。

天蓬老师

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号