Flask笔记:蓝图(Blueprint)
blueprint是flask中关于程序模块化开发的重要概念
标签:Flask
blueprint是flask中关于程序模块化开发的重要概念
app.py:
from admin import *
app.register_blueprint(admin, url_prefix='/admin')
admin.py:
admin = Blueprint('admin', __name__)
@admin.route('/test', methods = ['POST','GET'])
def test():
return 'test'
这样以后,访问/admin/test
便会出现test
字样。
在蓝图的html页面中,访问一个请求可以有两种方式:
POST:\admin\test
或者POST:{{ url_for('admin.test') }}
这里建议使用后者,因为这样能保证前后端一次完成,无需查找这个函数对应的路径再加上前缀\admin
,而更重要的原因是,url_for
能避免\test
和\test\
的严格区分可能会引发的错误。
如果app.py中注册了admin、users等多个蓝图,在admin中的get_data()
与users中的get_data()
会引发重名冲突。