flask實現子域名
什麼是子域名?
子域名,類似於xxx.douban.com的形式,如book.douban.com,music.douban.com,movie.douban.com等
用flask怎麼實現子域名?
flask在註冊路由的時候,允許一個引數subdomain
from flask import Flask
app = Flask(__name__)
app.config["SERVER_NAME"] = 'test.com:5000'
# 實現子域名 xxx.test.com
1) 靜態子域名
@app.route("/", subdomain="admin")
def static_domain():
return "static domain"
在啟動服務前,還需要配置DNS解析
DNS解析,即在訪問一個網址時,會將網址對映到一個對應的IP地址上,所以我們 要在本地測試我們的admin.test.com:5000也需要配置我們的DNS解析
以管理員的身份開啟C:\Windows\System32\drivers\etc下面的hosts檔案,在最後加入我們希望對映的網址即可
啟動服務後,瀏覽器輸入admin.test.com:5000,即可訪問
2)動態子域名
@app.route("/dynamic", subdomain="<subdomain>")
def dynamic_subdomain(subdomain):
return subdomain+" .domain"
啟動服務,在瀏覽器中輸入admin.test.com:5000/dynamic(這裡的子域名必須要是在hosts檔案中配置過的,否則伺服器會拒絕訪問)
使用藍圖如何使用子域名?
在建立藍圖的時候,支援傳入一個引數,subdomain