study_platform/app/__init__.py
superlishunqin e62a101da0 0422-1010
2025-04-22 22:10:16 +08:00

37 lines
1.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from flask import Flask, request, session
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_login import LoginManager
from flask_babel import Babel
from app.config import Config
import os
db = SQLAlchemy()
migrate = Migrate()
login_manager = LoginManager()
login_manager.login_view = 'auth.login'
babel = Babel()
def create_app(config_class=Config):
app = Flask(__name__, template_folder='../templates', static_folder='../static')
app.config.from_object(config_class)
db.init_app(app)
migrate.init_app(app, db)
login_manager.init_app(app)
babel.init_app(app)
from app.routes import main_bp, auth_bp
app.register_blueprint(main_bp)
app.register_blueprint(auth_bp, url_prefix='/auth')
@babel.localeselector
def get_locale():
# 如果用户已经选择了语言从session中获取
if 'language' in session:
return session['language']
# 否则尝试匹配请求的语言
return request.accept_languages.best_match(app.config['LANGUAGES'])
return app