之前我们写的 url 和视图函数都是处在同⼀个⽂件,如果项⽬⽐较⼤的话,这 显然不是⼀个合理的结构,⽽蓝图可以优雅的帮我们实现这种需求。

拆分模块

把模块独立出来
1.创建文件夹 blueprints
2.把模块放到这个目录下面
news.py蓝图文件

  1. from flask import Blueprint
  2. xxx = Blueprint("news", __name__)
  3. @xxx.route("/")
  4. def xxx():
  5. return xxx

app.py主文件

  1. from blueprints.news import xxx
  2. app.register_blueprint(xxx)

寻找模板文件

  1. 寻找templates 目录下的模板文件
  2. 如果templates目录下面没有找到,template_folder存在 在template_folder目录下面寻找模板文件

寻找静态资源文件

  1. # 在static目录下面
  2. <link rel="stylesheet" href="{{ url_for('static', filename='news.css') }}">
  3. # 在蓝图中static目录下
  4. <link rel="stylesheet" href="{{ url_for('news.static', filename='news.css') }}">
  5. news_bp = Blueprint('news', __name__, url_prefix="/news", template_folder="lgcoder",
  6. static_folder='static')

demo
入口py
image.png
book.py
image.png
news.py
image.png
news.html
image.png
news.css
image.png

子域名

host文件 添加

  1. 127.0.0.1 ecithy.com
  2. 127.0.0.1 cms.ecithy.com

image.png
image.png