この回答で説明されているように、Flask アプリケーションで変数ルート処理をセットアップしようとしています: Web アプリでの動的サブドメイン処理 (Flask)
ただし、変数ルートによってキャッチされる前に特定のサブドメインを認識できるようにしたいので、flask-restful api 拡張機能 ( Routing with RESTful ) を使用できます。
たとえば、次のことを試しました。
@app.route('/', subdomain="<user>", defaults={'path':''})
@app.route('/<path:path>', subdomain="<user>")
def user_profile(user,path):
pass
class Api(restful.Resource):
def get(self):
#Do Api things.
api.add_resource(Api, '/v1', subdomain="api")
これをテストすると、すべての URL が変数ルート ハンドラに移動し、user_prof()
. @app.route
APIルートを先に、標準ルールを2番目に、その逆も試してみましたが、変化はありませんでした。
これを実現するには、他のパラメーターが不足していますか、それとも Flask をさらに深くする必要がありますか?
アップデート:
一致させようとしている URL パターンは次のとおりです。
user1.mysite.com -> handled by user_profile()
user2.mysite.com -> handled by user_profile()
any_future_string.mysite.com -> handled by user_profile()
api.mysite.com/v1 -> handled by Api class
その他のケースは次のとおりです。
www.mysite.com -> handled by index_display()
mysite.com -> handled by index_display()