Python 如何使用多个管线文件组织一个蓝图

Python 如何使用多个管线文件组织一个蓝图,python,flask,Python,Flask,我的蓝图工作正常 应用程序结构: application.py users/routes.py __init__.py (main app) users/__init__.py (for blueprint) users/routes.py users/routes2.py users/routes3.py 在application.py中,我注册了蓝图: app.register_blueprint( users, url_prefix = '/users' ) 在users/rou

我的蓝图工作正常

应用程序结构:

application.py 

users/routes.py
__init__.py (main app)
users/__init__.py (for blueprint)
users/routes.py
users/routes2.py
users/routes3.py
在application.py中,我注册了蓝图:

app.register_blueprint( users, url_prefix = '/users' )
在users/routes.py中,我创建了它:

users = Blueprint( 'users', __name__, template_folder = "usersViews" )
@users.route( '/registration', methods = [ 'GET' ] )
def get_register_user_form( ):
    # Code......
我需要做的是将其他文件添加到需要使用@users.route的users/中,如:

users/route2.py

users/route3.py

但这不起作用,因为蓝图仅在原始用户/routes.py中创建。我不知道该怎么处理这个案子?我想用users=blueprint('users',name,template_folder=“usersViews”)在每个路由文件中重新创建蓝图不是正确的方法。那么我如何才能做到这一点呢?

我会将其中的一些内容拆分为
\uuu init\uuuuu.py
文件,如下所示:

from flask import Blueprint, url_for

users = Blueprint('users', __name__)

from . import routes, routes2, routes3
应用程序结构:

application.py 

users/routes.py
__init__.py (main app)
users/__init__.py (for blueprint)
users/routes.py
users/routes2.py
users/routes3.py
然后,在主
\uuuu init\uuuu.py
中设置蓝图:

app = Flask(__name__)

from .users import users as user_blueprint
app.register_blueprint(user_blueprint, url_prefix='/users')

return app
现在,在您的
users/\uuu init\uuu.py
中:

from flask import Blueprint, url_for

users = Blueprint('users', __name__)

from . import routes, routes2, routes3
然后在
users/routes.py
users/routes2.py
等中:

from . import users

警告:我从来没有这样做过!但这是我用于烧瓶蓝图的模式,它似乎可以解决您的问题。

在route2.py中,从routes导入用户获得的
如何?
?嗯,您从哪里获得“routes”呢?这是您创建蓝图的第一个文件的名称。的确,这是常识,应该可以工作,但浏览器没有找到404,也许是来自users.routes的
,那么,如果它都是从applicationGenius的根目录调用的,那么这是有效的,秘密就在init文件中!!太好了,很高兴我能帮忙!谢谢为什么我会离开。导入路由、路由2、路由3需要在用户=。。。。在users/\uuuu init\uuuuuu.py?中,这是为了避免循环依赖关系,因为“routes”文件还需要导入用户蓝图。关于如何读取代码,这本质上是一个“操作顺序”,这里有一些很好的讨论: