我已经构建了一个烧瓶应用程序,供餐馆使用,我想知道当他们在我们的登录页面上注册帐户时,如何使该应用程序为每个餐馆提供一个子域和自己的数据库。
答案 0 :(得分:0)
这个问题听起来更像是域名系统,而不是Flask。
您是说服务器将开始运行,然后几天或几周后,新客户端将向一些新的restaurant_name
注册,例如“ spicytacos”。您想在域名系统中创建一个新的Spicetacos.example.com FQDN,其中A或AAAA记录指向您的Web服务器。然后,您的烧瓶应用程序将能够在request.args
中识别出餐厅的名称,并做出适当的响应。
如果您正在使用BIND9或类似版本运行example.com的主要名称服务器,则只需重写区域配置文件并发送HUP信号即可。
如果您希望让其他公司处理名称服务详细信息,那么最好使用*
通配符记录。它应该是指向您服务器的CNAME或地址记录。
一个中间途径是使用DDNS(动态DNS)服务,可能来自fear.org或No-IP。这是将FQDN绑定到地址的另一种方式,这使您有了更多控制权。
请参阅How to create dynamic subdomains in a Flask application,以了解@app.before_request
如何在请求路由期间解析出新颖的主机名。