代码拉取完成,页面将自动刷新
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 blueprints.admin import bp as admin_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.register_blueprint(admin_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()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。