flask蓝图与项目一般结构

flask蓝图与项目一般结构

flask一般项目结构

初始化配置flask项目时,路由和视图是放在启动文件里的,这样不太方便我们后期的整理和查阅!

因此,我们需要将项目启动文件和路由视图分开处理!

  1. 在项目文件下创建一个apps的包,在包的初始化文件里定义一个函数,用来实现app相关的功能

init.py

from flask import Flask
import settings

def create_app():
    app = Flask(__name__) # 生成app对象
    app.config.from_object(settings) # 加载app的初始化配置
    # 注册蓝图
    app.register_blueprint() #括号里绑定对应的蓝图对象
    return app # 将app对象返回出去
  1. 然后在项目文件下的app.py里引入创建app对象的方法,得到创建好的app对象
from apps import create_app

app = create_app()

if __name__ == "__main__":
    # 运行app模块
    app.run()
  1. 将templates和static文件夹拖到apps这个包内,或者在创建app对象的时候添加以下代码,指定静态文件和模板文件夹的查找位置
    app = Flask(__name__,template_folder="",static_folder="") # 生成app对象
    template_folder和static_folder是指定查找对应静态文件和模板文件的位置

flask蓝图

  1. 在apps包里的各个模块包里新建一个view.py,用来写对应的视图和路由关系
from flask import Blueprint # 引入蓝图模块类

# 创建蓝图对象
# 第一个参数是给这个蓝图对象起一个名,第二个是导入名,url_prefix="/user"其实就是路由分发的意思,防止各个蓝图的路由重复
user_bp = Blueprint("user",__name__,url_prefix="/user")

@user_bp.route("/") #由蓝图对象实现的路由
def user_home():
    return "用户中心"
  1. 创建完蓝图对象,需要到包的初始化文件里注册一下蓝图对象
    app.register_blueprint() #括号里绑定对应的蓝图对象
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » flask蓝图与项目一般结构