加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
app.py 1.37 KB
一键复制 编辑 原始数据 按行查看 历史
import os
import sys
import click
import config
from flask import Flask, render_template, request, redirect, url_for, flash,session,g
from flask_migrate import Migrate
from exts import db, mail
from blueprints.user import bp as user_bp
from blueprints.Display import bp as display_bp
from blueprints.emojis import bp as emojis_bp
from models import UserModel
app = Flask(__name__)
# 绑定配置文件
app.config.from_object(config)
# 传入实例
db.init_app(app)
mail.init_app(app)
# 注册蓝图
app.register_blueprint(user_bp)
app.register_blueprint(display_bp)
app.register_blueprint(emojis_bp)
@app.context_processor
def my_context_processor():
return {"user": g.user}
Migrate(app, db)
# ORM模型映射成表的三步:
# 1.flask db init 这步只需要在项目刚开始时执行一次
# 2.flask db migrate 这步是识别ORM模型的改变,生成迁移脚本
# 3.flask db updata 运行迁移脚本,同步到数据库中
# 此种方式来映射无法时刻跟随表的改变
# with app.app_context():#请求上下文
# db.create_all()
# before_request/ before_first_request/ after_request
# hook
@app.before_request
def my_before_request():
user_id = session.get("user_id")
if user_id:
user = UserModel.query.get(user_id)
setattr(g, "user", user)
else:
setattr(g, "user", None)
if __name__ == '__main__':
app.run()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化