2015-01-13 14 views
13

Ho un'applicazione Flask in esecuzione su https://app.mydomain.com.Come impostare sottodomini diversi in Flask (usando i blueprint)?

I progetti simile a questa:

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') 

Gli URL simile a questa:

Voglio spostare il percorso api_1_0 da https://app.mydomain.com/api/v1.0 a https://api.mydomain.com, come devo modificare i percorsi e come devo impostare app.config['SERVER_NAME']?

example.com (senza alcun sottodominio) è completamente un altro sito, altrimenti mi libererei del sottodominio app.

Quindi, voglio app essere il sottodominio predefinito per tutti i progetti eccetto api_1_0 che dovrebbe essere api.

risposta

13

Poiché si desidera che l'applicazione Flask gestisca più sottodomini, è necessario impostare app.config['SERVER_NAME'] nel dominio principale. Quindi applicare app come sottodominio predefinito e sovrascriverlo nella registrazione del blueprint api.

Il modo per farlo sarebbe qualcosa di simile che suppongo:

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') 
Problemi correlati