2016-11-30 11 views
0

青写真が正しく機能しています。複数のルートファイルを使用して1つのBlueprintを構成する方法

アプリケーション構造:

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

そして、私はそれを作成し、ユーザー/ routes.pyで:application.pyで

application.py 

users/routes.py 

私は青写真登録

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

を何I他のファイルをユーザーに追加する必要があります。/ users.routeを使用する必要があります。

users/route2.py 

users/route3.py 

青写真は元のユーザー/ routes.pyで作成されているため、これは機能しません。私はこのケースを扱う適切な方法がわからないのですか?私はユーザー= Blueprint( 'users'、の名前、template_folder = "usersViews")を持つ各ルートファイルの青写真を再作成するのが適切な方法ではないと思います。だから私はそれをどのように達成できますか?

+0

route2.pyでは、どのように 'from routes imported users'ですか? –

+0

hmmmどこから "ルート"を取得しますか? –

+1

最初のファイルの名前で、青写真を作成します。 –

答えて

1

私はこのような__init__.pyファイルにこの一部を分割します:メイン__init__.pyセットアップあなたの青写真では、その後、

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

アプリの構造になりました

app = Flask(__name__) 

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

return app 

users/__init__.pyのように:

users/routes2.pyなどで
from flask import Blueprint, url_for 

users = Blueprint('users', __name__) 

from . import routes, routes2, routes3 

その後:

from . import users 

警告:私は実際にこれをやったことがありません!しかし、これは私がフラスコの青写真に使用するパターンであり、あなたの問題を解決するように思えました。

+0

Genius、これは動作しています。 initファイルで! –

+0

すばらしく、私は助けることができてうれしい! – abigperson

+1

ありがとう!なぜから。 import routes、routes2、routes3はusers = ....の後にある必要があります。users/__ init__.py? –

関連する問題