You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask用户认证应用出现"GET / HTTP/1.1" 404错误求助

问题解决思路与修复步骤

核心问题

你的Flask应用未加载views.py中的路由定义,导致根路径/及其他路由都未注册到app实例上,因此访问时返回404错误。

分步修复

1. 让app加载views路由

修改app/__init__.py,在文件末尾导入views,确保路由被注册:

from flask import Flask

app = Flask(__name__)
app.config.from_object('app.config')

# 导入views,触发路由注册
from app import views

2. 补充config缺失的配置项

views.py的登录逻辑依赖app.config['FOLDERS'],但当前config.py中仅定义了SECRET_KEY,会导致运行时KeyError。修改app/config.py添加用户配置:

SECRET_KEY = 'secrettest'
# 添加测试用的用户账号密码,可根据需求调整
FOLDERS = {
    'test_user': 'test_pass'
}

3. 修复路由参数的转义问题

views.py中/user_files路由的参数写法被HTML转义(<filename>),需改为Flask支持的正常语法:

# 原错误写法:@app.route('/user_files/<filename>')
@app.route('/user_files/<filename>')
def user_files(filename):
    username = session.get('username')
    if username:
        folder_path = get_user_folder(username)
        return send_from_directory(folder_path, filename)

    return redirect(url_for('login'))

4. 验证修复效果

启动run.py后,访问127.0.0.1:5000,应能看到Hello, Faiss Flask!;访问127.0.0.1:5000/login可进入登录页面,使用config.py中配置的账号密码登录后能正常进入dashboard。

额外注意事项

  • 确保user_folders目录有读写权限,避免创建用户文件夹时出现权限错误
  • 生产环境中请勿开启debug=True,存在安全风险
  • 若后续路由增多,可考虑使用Flask Blueprint拆分路由,提升代码可维护性

内容的提问来源于stack exchange,提问作者yonafunu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 20:13:13