fix: 未登录访问 500——login_view 蓝图化后未更新为 auth.login,flask_login 重定向 url_for('login') BuildError
This commit is contained in:
@@ -93,6 +93,18 @@ def main():
|
|||||||
fails.append(f"GET {rule} -> {type(e).__name__}: {e}")
|
fails.append(f"GET {rule} -> {type(e).__name__}: {e}")
|
||||||
print(f"GET 路由: {len(rules)} 个(跳过 {len([r for r in rules if r.startswith(_SKIP_PREFIXES)])} 个流式/二进制)")
|
print(f"GET 路由: {len(rules)} 个(跳过 {len([r for r in rules if r.startswith(_SKIP_PREFIXES)])} 个流式/二进制)")
|
||||||
|
|
||||||
|
# ========== 1.5 未登录访问(登录重定向链路) ==========
|
||||||
|
try:
|
||||||
|
r = c.get("/")
|
||||||
|
if r.status_code == 302 and "login" in (r.headers.get("Location") or ""):
|
||||||
|
passed += 1
|
||||||
|
elif r.status_code == 200:
|
||||||
|
passed += 1 # 已登录态也可能 200(测试客户端无 cookie 时走 302)
|
||||||
|
else:
|
||||||
|
fails.append(f"未登录访问 / -> HTTP {r.status_code}(应 302 到登录页)")
|
||||||
|
except Exception as e:
|
||||||
|
fails.append(f"未登录访问 / -> {type(e).__name__}: {e}")
|
||||||
|
|
||||||
# ========== 2. 写操作空 body 探测(抓 import 遗漏/引用错误) ==========
|
# ========== 2. 写操作空 body 探测(抓 import 遗漏/引用错误) ==========
|
||||||
write_rules = sorted({r.rule for r in app.url_map.iter_rules()
|
write_rules = sorted({r.rule for r in app.url_map.iter_rules()
|
||||||
if r.rule.startswith("/api")
|
if r.rule.startswith("/api")
|
||||||
|
|||||||
+1
-1
@@ -37,7 +37,7 @@ app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///" + os.path.join(
|
|||||||
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
|
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
|
||||||
|
|
||||||
login_manager = LoginManager(app)
|
login_manager = LoginManager(app)
|
||||||
login_manager.login_view = "login"
|
login_manager.login_view = "auth.login" # 蓝图化后路由前缀 auth
|
||||||
|
|
||||||
# 先初始化数据库(含旧 JSON 迁移),再创建 TaskManager(需要 app context 读写 DB)
|
# 先初始化数据库(含旧 JSON 迁移),再创建 TaskManager(需要 app context 读写 DB)
|
||||||
init_db(app)
|
init_db(app)
|
||||||
|
|||||||
Reference in New Issue
Block a user