api-automation-test/ApiAutomationTest/app/extensions.py

38 lines
1.2 KiB
Python

# coding=utf-8
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_login import LoginManager
from flask_mail import Mail
from flask_wtf import CSRFProtect
from flask_bootstrap import Bootstrap
from flask_socketio import SocketIO
from app.cores.case.http.http_cookie_manager import HTTPCookieManager
from app.cores.session_id_manager import SessionIDManager
from app.cores.dispatcher_scheduler import DispatcherScheduler
db = SQLAlchemy()
# render_as_batch=True在修改sqlite表结构后进行flask db migrate/upgrade升级时自动进行copy-and-move
migrate = Migrate(render_as_batch=True)
login_manager = LoginManager()
login_manager.login_view = "auth.login" # 注册登录视图
login_manager.login_message_category = 'warning'
login_manager.login_message = "请先登录"
mail = Mail()
csrf = CSRFProtect()
bootstrap = Bootstrap()
socketio = SocketIO()
http_cookie_manager = HTTPCookieManager()
session_id_manager = SessionIDManager()
dispatcher_scheduler = DispatcherScheduler()
@login_manager.user_loader
def load_user(id):
from app.models import User
return User.query.filter_by(id=int(id)).first()
# 注册websocket事件