35

フラスコを使用して Web アプリケーションを作成します。アプリケーションの一部にはサブドメインが含まれます (たとえば、user1.appname.org)。

これらのサブドメインをフラスコ構成で動的に作成する方法や、それらを運用サーバーにデプロイする方法がわかりません。

これを行う最善の方法は何ですか?

4

2 に答える 2

62

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"
于 2012-06-14T05:22:36.443 に答える
51

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
于 2012-07-01T11:50:46.030 に答える