如果你有写几个简单的示例应该能够注意到,每次通过url请求的时候,flask都会根据url找到处理它的view函数,如下:
pythonuser = Blueprint('user', __name__) @user.route('/greeting') def greeting(): return 'Hello, lowly normal user!'
python
user = Blueprint('user', __name__) @user.route('/greeting') def greeting(): return 'Hello, lowly normal user!'
在未指定endpoint的时候默认把greeting函数作为endpoint。简单来说endpoint就是一个标识符用于决定当一个请求来了之后由那一个逻辑单元去执行。
greeting
而blueprint是flask中组织view函数或者说组织各种静态资源的一种方式,就像我们书的目录一样,这样当一个请求过来的时候都可以通过这个目录找到对应的view函数,同时对于各个view函数,其他的view函数都是对其可见的,各个view函数之间也可以通过这个目录找到其他的view函数,如下:
user.py
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来说,对方都是可见的,可以通过这个方式来调用。就像我看书看到第一章的第一节,突然想看第三章的第一节差不多意思。
url_for('admin.greeting')
url_for('user.greeting')
总结下来就是,bluepint是实现通过url找到view的一套机制;而endpoint是实现这套机制时给该url定义的一个标识符。大概就是这样了,不知道这样讲有没有明白。
感谢,之前也看不太怎么看懂blueprint,现在有点理解了。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(2)
如果你有写几个简单的示例应该能够注意到,每次通过url请求的时候,flask都会根据url找到处理它的view函数,如下:
在未指定endpoint的时候默认把
greeting
函数作为endpoint。简单来说endpoint就是一个标识符用于决定当一个请求来了之后由那一个逻辑单元去执行。而blueprint是flask中组织view函数或者说组织各种静态资源的一种方式,就像我们书的目录一样,这样当一个请求过来的时候都可以通过这个目录找到对应的view函数,同时对于各个view函数,其他的view函数都是对其可见的,各个view函数之间也可以通过这个目录找到其他的view函数,如下:
user.py
admin.py
分布在不同文件下的不同view函数,可以通过
url_for('admin.greeting')
或url_for('user.greeting')
来跳转。对于这两个view来说,对方都是可见的,可以通过这个方式来调用。就像我看书看到第一章的第一节,突然想看第三章的第一节差不多意思。总结下来就是,bluepint是实现通过url找到view的一套机制;而endpoint是实现这套机制时给该url定义的一个标识符。大概就是这样了,不知道这样讲有没有明白。
感谢,之前也看不太怎么看懂blueprint,现在有点理解了。