Python 在init文件中声明蓝图
我有一个蓝图,我们称之为仪表板。假设我有以下结构:Python 在init文件中声明蓝图,python,flask,Python,Flask,我有一个蓝图,我们称之为仪表板。假设我有以下结构: /application app.py /dashboard __init__.py controller1.py controller2.py /templates 现在,我只有一个控制器,因此蓝图在那里声明。如果我想添加另一个控制器,最好在/dashboard中的init文件中声明蓝图。但是,这样做时,我无法从app.py导入仪表板蓝图 有解决办法吗?或者这表明我的蓝图结构中有气味 编辑 以下是我得
/application
app.py
/dashboard
__init__.py
controller1.py
controller2.py
/templates
现在,我只有一个控制器,因此蓝图在那里声明。如果我想添加另一个控制器,最好在/dashboard中的init文件中声明蓝图。但是,这样做时,我无法从app.py导入仪表板蓝图
有解决办法吗?或者这表明我的蓝图结构中有气味
编辑
以下是我得到的错误(以及步骤):
在application/dashboard/__init__u;.py中:
from flask import Blueprint
dashboard = Blueprint('dashboard', __name__, template_folder='templates', static_folder='static')
from application.dashboard import dashboard
app.register_blueprint(dashboard)
在application/dashboard/controller.py中:
from application.dashboard import dashboard
# @dashboard.routes here
在应用程序/\uuuu init\uuuuu.py中:
from flask import Blueprint
dashboard = Blueprint('dashboard', __name__, template_folder='templates', static_folder='static')
from application.dashboard import dashboard
app.register_blueprint(dashboard)
当我尝试访问仪表板蓝图中的任何路线时,我得到一个404未找到:
Not Found
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
我无法从app.py-Uhm导入仪表板蓝图,是的,您可以。执行此操作时会出现什么错误?@MartijnPieters请参阅编辑。我发布了复制的步骤以及加载页面时看到的错误。您确实需要导入
仪表板/
包中的其他模块,以便它们可以注册路由。@MartijnPieters Oops就是这样。谢谢@darksky-你能详细说明一下你最终做了些什么来让它工作吗。我有完全相同的问题,无法解决它。在init.py中创建的blueprint实例似乎对控制器不可见。