1、什么是子域名

许多的网站都在使用子域名,比如一个网站叫做xxx.com,那么我们可以定义一个子域名cms.xxx.com来作为cms管理系统的网址,子域名的实现一般也是通过蓝图来实现
小例子:
腾讯课堂的主页网址为:https://ke.qq.com/
腾讯课堂中逻辑教育的网页为:https://logicedu.ke.qq.com/?tuin=3252f483
其中logicedu就是定义的子域名,写在URL地址的前面
1、子域名设置第一步(设置subdomain参数):
新建gzj.py蓝图文件,设置subdomain参数为子域名

  1. from flask import Blueprint
  2. gzj_bp = Blueprint("GZJ", __name__, subdomain="gzj")
  3. @gzj_bp.route("/")
  4. def gzj_home():
  5. return "gzj首页"

2、子域名设置第二步(修改hosts文件):
配置本地域名:(windows系统)
在该路径中 C:\Windows\System32\drivers\etc 找到 hosts文件,在hosts文件中修改当前域名(127.0.0.1)为目标域名(自己定义)
image.png
在flask中必须给网址的形式才能够实现子域名的访问,不支持IP与localhost(本地网址)访问形式。
127.0.0.1 —>wyx.com
更换域名后效果:
代码部分:

  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route("/")
  4. def home():
  5. return "hello word"
  6. if __name__ == "__main__":
  7. app.run(debug=True)

输入:http://127.0.0.1:5000/
image.png
输入:http://wyx.com:5000/
image.png
在更改域名后,输入http://127.0.0.1:5000/与http://wyx.com:5000/实现的效果一致
3、子域名设置第三步:(在主入口Flask文件中设置app.config[“SERVER_NAME”] = “wyx.com:5000”)
代码部分:

  1. from flask import Flask
  2. from blueprints.gzj import gzj_bp
  3. app = Flask(__name__)
  4. app.config["TEMPLATES_AUTO_RELOAD"] = True
  5. app.register_blueprint(gzj_bp)
  6. app.config["SERVER_NAME"] = "wyx.com:5000"
  7. @app.route("/")
  8. def home():
  9. return "首页"

输入:http://gzj.wyx.com:5000/
image.png
image.png