python runtime_error ai_generated true

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

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

Also available as: JSON · Markdown · 中文
80%Fix Rate
87%Confidence
0Evidence
2024-05-17First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
3.x active

Root Cause

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

generic

中文

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

Workarounds

  1. 90% success
    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% success
    print(app.view_functions.keys())

Dead Ends

Common approaches that don't work:

  1. 60% fail

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

  2. 70% fail

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