使用 Flask 3 搭建问答平台(一):项目结构搭建

avatar
作者
猴君
阅读量:2

一、项目基本结构

二、app.py

from flask import Flask import config from exts import db from models import UserModel from blueprints.qa import bp as qa_bp from blueprints.auth import bp as auth_bp  # 创建一个Flask应用实例,__name__参数帮助Flask确定应用程序的根目录,以便于找到资源文件。 app = Flask(__name__) # 从一个配置对象加载配置参数。config可以是一个配置类或模块,包含应用程序的各种配置设置,例如数据库URI、调试模式等 app.config.from_object(config) # 使用之前创建的SQLAlchemy实例(db),并将其与Flask应用实例绑定。这样,数据库操作可以在Flask应用的上下文中进行 db.init_app(app) # 将名为qa_bp的蓝图注册到Flask应用中,并为其指定URL前缀/qa。这样,蓝图中的所有路由都会以/qa为前缀 app.register_blueprint(qa_bp, url_prefix='/qa') # 将名为auth_bp的蓝图注册到Flask应用中,并为其指定URL前缀/auth。这样,蓝图中的所有路由都会以/auth为前缀 app.register_blueprint(auth_bp, url_prefix='/auth')   @app.route('/') def hello_world():  # put application's code here     return 'Hello World!'   if __name__ == '__main__':     app.run()

三、exts.py

# 这个文件存在是为了解决循环引用的问题 from flask_sqlalchemy import SQLAlchemy  # 通过调用SQLAlchemy(),创建一个SQLAlchemy的实例。在这个实例上可以配置和管理数据库连接、定义数据库模型、执行查询等 db = SQLAlchemy()

四、models.py

from exts import db   class UserModel(db.Model):     pass

五、auth.py

from flask import Blueprint  # 创建一个蓝图 # bp是一个Blueprint实例。 # 'auth'是蓝图的名称,通常用来标识这个蓝图的用途或功能区域。 # __name__是蓝图所在模块的名称,Flask用它来确定蓝图的位置。 # url_prefix='/auth'指定了这个蓝图的URL前缀。所有由这个蓝图注册的路由都会以这个前缀开头。 bp = Blueprint('auth', __name__, url_prefix='/auth')   # /auth/login @bp.route('/login', methods=['GET']) def login():     pass

六、qa.py

from flask import Blueprint  # 创建一个蓝图 # bp是一个Blueprint实例。 # 'qa'是蓝图的名称,通常用来标识这个蓝图的用途或功能区域。 # __name__是蓝图所在模块的名称,Flask用它来确定蓝图的位置。 # url_prefix='/'指定了这个蓝图的URL前缀。所有由这个蓝图注册的路由都会以这个前缀开头。 bp = Blueprint('qa', __name__, url_prefix='/')   # http://127.0.0.1:5000 @bp.route('/', methods=['GET']) def index():     pass

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!