52 lines
1.5 KiB
Python
Raw Permalink Normal View History

2024-07-29 17:26:18 +08:00
from flask import Flask
2024-07-29 11:43:52 +08:00
from flask_mail import Mail
from flask_sqlalchemy import SQLAlchemy
from flask_login import LoginManager
2024-07-29 17:26:18 +08:00
from flask_migrate import Migrate
2024-07-29 11:43:52 +08:00
from config import config
from flask_moment import Moment
from flask_bootstrap import Bootstrap
2024-07-29 17:26:18 +08:00
2024-07-29 11:43:52 +08:00
mail = Mail()
db = SQLAlchemy()
moment = Moment()
2024-07-29 17:26:18 +08:00
bootstrap = Bootstrap()
2024-07-29 11:43:52 +08:00
login_manager = LoginManager()
login_manager.login_view = 'auth.login'
2024-07-29 17:26:18 +08:00
2024-07-29 11:43:52 +08:00
def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
config[config_name].init_app(app)
2024-07-29 17:26:18 +08:00
mail.init_app(app)
2024-07-29 11:43:52 +08:00
db.init_app(app)
moment.init_app(app)
login_manager.init_app(app)
bootstrap.init_app(app)
2024-07-29 17:26:18 +08:00
migrate = Migrate(app, db) # Initialize Flask-Migrate
# 确保在此处导入模型,以便 Flask-SQLAlchemy 能够识别
from . import models
2024-07-29 11:43:52 +08:00
from .main import main as main_blueprint
app.register_blueprint(main_blueprint)
from .auth import auth as auth_blueprint
2024-07-29 17:26:18 +08:00
app.register_blueprint(auth_blueprint, url_prefix='/auth')
2024-07-29 11:43:52 +08:00
from .user import user as user_blueprint
2024-07-29 17:26:18 +08:00
app.register_blueprint(user_blueprint, url_prefix='/user')
2024-07-29 11:43:52 +08:00
from .appointment import appointment as appointment_blueprint
2024-07-29 17:26:18 +08:00
app.register_blueprint(appointment_blueprint, url_prefix='/appointment')
2024-07-29 11:43:52 +08:00
from .faqs import faqs as faqs_blueprint
2024-07-29 17:26:18 +08:00
app.register_blueprint(faqs_blueprint, url_prefix='/faqs')
2024-07-29 11:43:52 +08:00
2024-07-29 17:26:18 +08:00
from .detect import detect as detect_blueprint
app.register_blueprint(detect_blueprint)
2024-07-29 11:43:52 +08:00
return app