フラスコを使用して Web アプリケーションを作成します。アプリケーションの一部にはサブドメインが含まれます (たとえば、user1.appname.org)。
これらのサブドメインをフラスコ構成で動的に作成する方法や、それらを運用サーバーにデプロイする方法がわかりません。
これを行う最善の方法は何ですか?
フラスコを使用して Web アプリケーションを作成します。アプリケーションの一部にはサブドメインが含まれます (たとえば、user1.appname.org)。
これらのサブドメインをフラスコ構成で動的に作成する方法や、それらを運用サーバーにデプロイする方法がわかりません。
これを行う最善の方法は何ですか?
Flask のすべてのルーティング コンストラクトは、subdomain
キーワード引数をサポートしています (これには、ルート変数のサポートが含まれます)。
@app.route("/", subdomain="static")
def static_index():
"""Flask supports static subdomains
This is available at static.your-domain.tld"""
return "static.your-domain.tld"
@app.route("/dynamic", subdomain="<username>")
def username_index(username):
"""Dynamic subdomains are also supported
Try going to user1.your-domain.tld/dynamic"""
return username + ".your-domain.tld"
Sean Viera の投稿を補完するには、SERVER_NAME 構成変数も設定する必要があります。
ドキュメント: http://flask.pocoo.org/docs/config/#SERVER_NAME
サーバーの名前とポート番号。サブドメインのサポートに必要 (例: 'myapp.dev:5000') localhost はサブドメインをサポートしていないため、これを「localhost」に設定しても役に立たないことに注意してください。SERVER_NAME をデフォルトで設定すると、リクエスト コンテキストを使用せずにアプリケーション コンテキストを使用して URL を生成できます。
hosts
ローカルでテストするには、次のようにファイルにエントリを追加する必要があります。
127.0.0.1 cvshark.local
127.0.0.1 robert.cvshark.local
127.0.0.1 www.cvshark.local