2015-01-13 7 views
13

Ich habe eine Flask-Anwendung unter https://app.mydomain.com ausgeführt.Wie werden verschiedene Subdomains in Flask eingerichtet (mithilfe von Blueprints)?

Die Pläne sehen wie folgt aus:

app.register_blueprint(main) 
app.register_blueprint(account, url_prefix='/account') 
app.register_blueprint(users, url_prefix='/users') 
app.register_blueprint(boxes, url_prefix='/boxes') 
app.register_blueprint(api_1_0, url_prefix='/api/v1.0') 

Die URLs wie folgt aussehen:

Ich möchte die api_1_0 Route von https://app.mydomain.com/api/v1.0 zu https://api.mydomain.com verschieben, wie sollte ich die Routen ändern und wie sollte ich app.config['SERVER_NAME'] einstellen?

example.com (ohne Subdomain) ist eine andere Seite ganz, sonst würde ich die app Subdomain loswerden.

So, ich möchte app, die Standard-Subdomäne für alle Blaupausen außer api_1_0 sein, die api sein sollte.

Antwort

13

Da Ihre Flask-Anwendung mehrere Unterdomänen verwalten soll, sollten Sie app.config['SERVER_NAME'] als Stammdomäne festlegen. Wenden Sie dann app als die Standardunterdomäne an, und überschreiben Sie es in api Blueprint-Registrierung.

Die Art und Weise dies so etwas zu tun wäre, nehme ich an:

app.config['SERVER_NAME'] = 'mydomain.com' 
app.url_map.default_subdomain = "app" 
app.register_blueprint(account, url_prefix='/account') 
app.register_blueprint(users, url_prefix='/users') 
app.register_blueprint(boxes, url_prefix='/boxes') 
app.register_blueprint(api_1_0, subdomain='api')