50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
from flask import Flask, request, jsonify, redirect, url_for, render_template, session, make_response
|
|
from flask_cors import CORS
|
|
from flask_mail import Mail
|
|
from flask_bcrypt import Bcrypt
|
|
from flask_session import Session
|
|
from dotenv import load_dotenv
|
|
import os
|
|
import logging
|
|
import app_function # 引入新的文件
|
|
|
|
# 载入环境变量
|
|
load_dotenv()
|
|
|
|
# 初始化 Flask 应用
|
|
app = Flask(__name__, static_url_path='', static_folder='.')
|
|
CORS(app, resources={r"/*": {"origins": "*", "methods": "GET,POST,PUT,DELETE,OPTIONS"}})
|
|
bcrypt = Bcrypt(app)
|
|
|
|
# 确保 SECRET_KEY 被设置
|
|
app.secret_key = os.getenv('SECRET_KEY', 'you_will_never_guess')
|
|
app.config['SESSION_TYPE'] = 'filesystem'
|
|
app.config['SESSION_PERMANENT'] = False
|
|
Session(app)
|
|
|
|
|
|
|
|
# 配置邮件
|
|
app.config.update(
|
|
MAIL_SERVER='smtp.qq.com', # QQ smtp服务器
|
|
MAIL_PORT=465, # 端口
|
|
MAIL_USE_SSL=True,
|
|
MAIL_USERNAME='3399560459@qq.com', # 发件邮箱
|
|
MAIL_PASSWORD='ubbgchcvkhnwcijj', # 授权码
|
|
MAIL_DEFAULT_SENDER=('SumKim_OFFICIAL', '3399560459@qq.com')
|
|
)
|
|
mail = Mail(app)
|
|
|
|
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
|
|
|
|
# 添加路由
|
|
app_function.add_admin_routes(app, mail, bcrypt)
|
|
app_function.add_teacher_routes(app, mail, bcrypt)
|
|
|
|
@app.before_request
|
|
def before_request_func():
|
|
if request.method == 'OPTIONS':
|
|
return app_function._build_cors_preflight_response()
|
|
|
|
if __name__ == '__main__':
|
|
app.run(debug=True, port=5005) |