2016-11-30 67 views
0

我得到蓝图正常工作。如何组织一个蓝图与多个路线文件

应用结构:

application.py 

users/routes.py 

在application.py我注册的蓝图:

app.register_blueprint(users, url_prefix = '/users') 

而且在用户/ routes.py我创建它:

users = Blueprint('users', __name__, template_folder = "usersViews") 
@users.route('/registration', methods = [ 'GET' ]) 
def get_register_user_form(): 
    # Code...... 

我需要做的是将其他文件添加到用户/从中我需要使用@ users.route像在:

users/route2.py 

users/route3.py 

但是这不起作用,因为蓝图只在原始users/routes.py中创建。我不确定处理这种情况的正确方法?我猜想用users = Blueprint('users',名称,template_folder =“usersViews”)重新创建每个路径文件中的蓝图并不是正确的方式。那么我怎么能做到这一点?

+0

在route2.py中,'from routes import users'怎么样? –

+0

嗯,你从哪里得到“路线”? –

+1

这是您创建蓝图的第一个文件的名称。 –

回答

1

我会分裂一些这方面出到__init__.py文件是这样的:

应用结构:

__init__.py (main app) 
users/__init__.py (for blueprint) 
users/routes.py 
users/routes2.py 
users/routes3.py 

然后,在主__init__.py设置您的蓝图:

app = Flask(__name__) 

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

return app 
现在

,在你的users/__init__.py这样的事情:

from flask import Blueprint, url_for 

users = Blueprint('users', __name__) 

from . import routes, routes2, routes3 

然后在users/routes.pyusers/routes2.py等:

from . import users 

警告:我从来没有真正做到了这一点!但这是我用于Flask蓝图的模式,它似乎可以解决您的问题。

+0

天才,这是工作,秘密是在init文件中! –

+0

太棒了,很高兴我能帮到你! – abigperson

+1

谢谢!为什么从。导入路由,routes2,routes3需要在用户之后= ....在用户/ __ init__.py中? –