带有Flask的子域名?

use*_*758 5 python flask web

我如何使用Flask为我的网站实施子域名?

文档尽管非常好,但对此并不十分清楚.子域名不需要是动态的,我只会使用我自己选择的2或3.

我该如何路线?是否有可能以正常方式测试它们?(由Flask在当地提供)

Sea*_*ira 15

如果你想要做的就是处理特定子域下的特定端点,你可以使用subdomain参数@route:

app = Flask(__name__)
# In Flask 1.0
# app = Flask(__name__, subdomain_matching=True)

# Must add this until Flask 1.0
# Must be host:port pair or will not work
app.config["SERVER_NAME"] = "local.dev:5000"

@app.route("/")
def home():
    return "Sweet home"

@app.route("/some-route")
def some_route():
    return "on the default subdomain (generally, www, or unguarded)"

@app.route("/", subdomain="blog")
def blog_home():
    return "Sweet blog"

@app.route("/<page>", subdomain="blog")
def blog_page(page):
    return "can be dynamic: {}".format(page)
Run Code Online (Sandbox Code Playgroud)

要在本地处理开发,您需要在hosts文件中创建条目以将这些不同的域指向您的计算机:

local.dev    127.0.0.1
blog.local.dev    127.0.0.1
Run Code Online (Sandbox Code Playgroud)

然后你可以使用local.devblog.local.dev,而不是localhost看你的工作.