我将使用flask 来创建一个Web 应用程序,并且该应用程序的一部分将涉及一个子域(例如,user1.appname.org)。
我不确定如何在烧瓶配置中动态创建这些子域,或者如何将它们部署到生产服务器。
这样做的最佳方法是什么?
我将使用flask 来创建一个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