1. 程式人生 > >flask實現子域名

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