如题,创建蓝本的代码如下:
from flask import Blueprint
main = Blueprint('main', __name__)
from . import views, errors
《flask web开发》书里面解释:程序的路由保存在包里的app/main/views.py模块中,而错误处理程序保存在app/main/errors.py模块中。导入这两个模块就能把路由和错误处理程序与蓝本关联起来。
最后一句话不理解,为何只是导入两个模块就能关联,并没有进行其他的操作。
个人理解,在__init__.py程序末尾导入两个模块,而两个模块也导入了__init__.py,而在views.py中,有
from . import main
@main.route('/',methods=['GET','POST'])
在errors.py中
from . import main
@main.app_errorhandler(404)
因此蓝本与errors和views关联起来了。那这样是否可以在main.py中省略最后一句?不知道这样理解是否正确,还是有其他的深层关系?希望有人讲解一下,谢谢!
首先,不明白
main.py
在哪里??其次,这个问题,和蓝本无关,即使最简单的、抛弃了蓝图的flask程序的架构模式,也需要在
app/__init__.py
中写入如下代码:from app import views,errors
。