ので、同じようにそれを定義し、あなたは現在、それをやっている青写真の接頭辞とサブドメインを定義しないでください:
app.register_blueprint(mod, subdomain='pt', url_prefix='/')
app.register_blueprint(mod, subdomain='br', url_prefix='/')
:
mod = Blueprint('landing', __name__)
その後、単純に各サブドメインのための青写真を2回、1を登録
EDIT:OPによって述べたよう
所与の解決策の問題、すなわち、最初に登録Bでありますテンプレートでurl_for
を使用すると、lueprintが優先されます。登録時に
迅速な回避策は、このような何かをやっている可能性が:これはで行われる順序が重要であることを
app.register_blueprint(mod, subdomain='br')
mod.name = 'landing_pt'
app.register_blueprint(mod, subdomain='pt')
注意を(最初に、他のものを登録し、名前を変更し、1を登録します)。
url_for
が両方のサブドメインで期待通りに機能するためには、url_for('landing.index')
の代わりにurl_for('.index')
のようにrelative redirectsを使用することが重要です。
2回目の登録の青写真の名前を変更することで、Flaskは違う青写真であると考えてトリックします。
このような汚れた回避策をお勧めします。
これは膨大な数の問題を引き起こします。登録の順序は、接頭辞によるすべてのリンクを解除します。登録された最初のサブドメインの接頭辞を持つリンクを常に仮定します。 VMごとに設定ファイルを使用してこの問題を解決します。 – anvd
@andvあなたの問題が何かを理解していると思います。 url_forを使用すると、最初に登録されたサブドメインが優先されます。私はこの問題の回避策を使って答えを編集しました。それが役に立てば幸い。 – AArias