一、创建项目
创建项目教程可见:python flask框架入门第一步(最详细介绍)——快速上线第一个项目-CSDN博客
二、文件配置,搭建框架
代码分离,一个文件做一个事情,避免文件之间循环引用,便于代码维护
1、项目配置文件config.py
新建config.py文件用于项目配置
2、项目扩展文件exts.py
新建exts.py文件用于导入插件,这个文件存在的意义就是为了解决循环引用的问题
from flask_sqlalchemy import SQLAlchemy #初始化一个Flask应用程序的数据库连接
db = SQLAlchemy() #后面跟app进行绑定
3、项目模型配置文件models.py
新建models.py文件用于搭建项目模型(表)
from exts import db
class UserModel(db.Model):
pass
4、app.py
import config
from exts import db
from models import UserModel
# 绑定配置文件
app.config.from_object(config)
db.init_app(app) #db与app进行绑定
5、解决循环引用图例
6、 蓝图blueprints文件夹(项目模块化,管理视图函数)
在Flask中,Blueprint是一个用于组织和划分应用程序的高级结构。它可以帮助你将大型的应用程序划分为更小、更管理的部分,每个部分都有自己的路由和视图。
a、auth.py(用户管理模块)
from flask import Blueprint
bp = Blueprint("auth", __name__, url_prefix="/auth") #指定蓝图中所有路由的前缀为/auth下
@bp.route("/login")
def login():
pass
b、qa.py(问答模块)
from flask import Blueprint
bp = Blueprint("qa", __name__, url_prefix="/") #因为问答模块在首页,所有不写前缀路径
@bp.route("/")
def index():
pass
c、在app.py中导入蓝图
from blueprints.qa import bp as qa_bp #取别名避免bp重复
from blueprints.auth import bp as auth_bpapp.register_blueprint(qa_bp) #将蓝图对象
qa_bp
注册到应用程序实例app
中。app.register_blueprint(auth_bp)