Flask实战开发——问答平台(二)项目配置

 一、创建项目 

 

创建项目教程可见: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_bp

app.register_blueprint(qa_bp)        #将蓝图对象 qa_bp 注册到应用程序实例 app 中。

app.register_blueprint(auth_bp)


上一篇文章Flask实战开发——问答平台(一)项目介绍-CSDN博客

下一篇文章: Flask实战开发——问答平台(三)数据库模型-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_57467129/article/details/140474959