superlishunqin 24953f68df fix_bug
2025-03-31 03:06:26 +08:00

63 lines
1.7 KiB
Python

from flask import Flask, jsonify, render_template, session, redirect, url_for, request
import os
import logging
import config
from routes import register_blueprints
from utils.model_service import text_classifier
# 设置日志
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
# 创建Flask应用
app = Flask(__name__)
app.config.from_object(config)
app.secret_key = config.SECRET_KEY
# 确保上传目录和临时目录存在
os.makedirs(os.path.join(app.root_path, config.UPLOAD_FOLDER), exist_ok=True)
os.makedirs(os.path.join(app.root_path, 'temp'), exist_ok=True)
# 注册所有路由蓝图
register_blueprints(app)
# 初始化文本分类模型
@app.before_first_request
def initialize_model():
if not text_classifier.initialize():
app.logger.error("模型初始化失败!")
else:
app.logger.info("模型初始化成功!")
@app.route('/')
def index():
# 检查用户是否已登录
if 'user_id' in session:
return redirect(url_for('dashboard'))
return render_template('login.html')
@app.route('/register')
def register_page():
return render_template('register.html')
@app.route('/dashboard')
def dashboard():
# 检查用户是否已登录
if 'user_id' not in session:
return redirect(url_for('index'))
return render_template('dashboard.html', user=session.get('user_info'))
# 404 错误处理
@app.errorhandler(404)
def page_not_found(e):
return render_template('error.html', error='页面未找到'), 404
# 500 错误处理
@app.errorhandler(500)
def internal_server_error(e):
return render_template('error.html', error='服务器内部错误'), 500
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=50004)