python runtime_error ai_generated true

Werkzeug 路由异常:无法为端点 'auth.login' 构建 URL。您是指 'login' 吗?

werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'auth.login'. Did you mean 'login' instead?

ID: python/flask-url-for-external-endpoint

其他格式: JSON · Markdown 中文 · English
80%修复率
87%置信度
0证据数
2024-05-17首次发现

版本兼容性

版本状态引入弃用备注
3.x active

根因分析

在 url_for 中使用了不存在的端点名称,可能因为蓝图前缀错误或函数名拼写错误。

English

在 url_for 中使用了不存在的端点名称,可能因为蓝图前缀错误或函数名拼写错误。

generic

解决方案

  1. 90% 成功率
    from flask import Blueprint, url_for
    auth_bp = Blueprint('auth', __name__)
    @auth_bp.route('/login')
    def login(): ...
    app.register_blueprint(auth_bp)
    # 使用 url_for('auth.login')
  2. 85% 成功率
    print(app.view_functions.keys())

无效尝试

常见但无效的做法:

  1. 60% 失败

    如果蓝图端点实际为 'auth.login',使用 'login' 会继续报错。

  2. 70% 失败

    如果蓝图未注册或名称错误,仍然无法构建。