From 7b0b3be6c835d10b62b44e0bc35c69de6fe23564 Mon Sep 17 00:00:00 2001 From: yunxiafei <307327147@qq.com> Date: Sun, 15 Mar 2026 06:52:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20SQLAlchemy=20?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E5=92=8C=20Flask-Login=20user=5Floa?= =?UTF-8?q?der=20=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - models/__init__.py 改用 extensions.py 中的 db 实例 - 添加 Flask-Login user_loader 回调函数 - 添加 nginx 反向代理配置 修复了容器启动后 API 500 错误的问题 --- app/__init__.py | 6 ++++++ app/models/__init__.py | 3 +-- nginx.conf | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 nginx.conf diff --git a/app/__init__.py b/app/__init__.py index aa0d61e..e6f0c79 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -71,6 +71,12 @@ def _init_extensions(app): limiter.init_app(app) socketio_app.init_app(app) + # 配置 Flask-Login user_loader + from app.models import User + @login_manager.user_loader + def load_user(user_id): + return User.query.get(user_id) + # 初始化 Redis init_redis(app) diff --git a/app/models/__init__.py b/app/models/__init__.py index 8dca7a6..3d8ae7a 100644 --- a/app/models/__init__.py +++ b/app/models/__init__.py @@ -3,12 +3,11 @@ PIT Router 数据模型 """ from datetime import datetime from typing import Optional, List -from flask_sqlalchemy import SQLAlchemy from sqlalchemy import String, DateTime, Integer, Text, JSON, ForeignKey, Boolean from sqlalchemy.orm import Mapped, mapped_column, relationship import uuid -db = SQLAlchemy() +from app.extensions import db def generate_uuid() -> str: diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..b9b3336 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,36 @@ +events { + worker_connections 1024; +} + +http { + upstream pit_router { + server pit-router:9000; + } + + server { + listen 80; + server_name _; + + location / { + proxy_pass http://pit_router; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location /socket.io/ { + proxy_pass http://pit_router/socket.io/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + location /health { + proxy_pass http://pit_router/health; + } + } +}