ProgramingTip

버그 오류 : werkzeug.routing.BuildError

bestdevel 2020. 12. 3. 08:18
반응형

버그 오류 : werkzeug.routing.BuildError


flaskr 샘플 앱의 로그인을 수정하면 첫 번째 줄에 오류가 발생합니다. 그러나 www.html은 템플릿 디렉토리에 있습니다.

return redirect(url_for('www'))
#return redirect(url_for('show_entries'))

표시 오류 :

werkzeug.routing.BuildError

BuildError: ('www', {}, None) 

return redirect(url_for('www')) 다음과 같은 다른 기능이 있으면 작동합니다.

@app.route('/welcome')
def www():
    return render_template('www.html')

url_for함수를 찾고 호출하려는 함수 이름 을 전달합니다 . 다음과 같이 생각하십시오.

@app.route('/login')
def sign_in():
    for thing in login_routine:
        do_stuff(thing)
    return render_template('sign_in.html')

@app.route('/new-member')
def welcome_page():
    flash('welcome to our new members')
    flash('no cussing, no biting, nothing stronger than gin before breakfast')
    return redirect(url_for('sign_in')) # not 'login', not 'sign_in.html'

return redirect('/some-url')기억하기 쉬운 경우 에도 할 수 있습니다 . 첫 번째 줄에서 원하는 것이 단지 return render_template('www.html').

당신이 청사진을 사용하는 경우 또한, 아래 shuaiyuancn의 게임에서 호출 url_for해야한다고 url_for('blueprint_name.func_name') 호출해야하는 경우,보다 많은 것을 전달하지 않습니다. 여기에서 설명서를 참조하십시오 .


def www():이미 정의되어 있는 가정하면 (unmounted의 멋진 답변에서 제안한대로) 등록되지 않은 청사진을 사용하는 경우 에도이 오류가 있습니다 .

app처음 인스턴스화 될 때 등록해야합니다 . 나를 위해 다음과 같이 수행했습니다.

from project.app.views.my_blueprint import my_blueprint
app = Flask(__name__, template_folder='{}/templates'.format(app_path), static_folder='{}/static'.format(app_path))
app.register_blueprint(my_blueprint)

그리고 내 my_blueprint.py :

from flask import render_template, Blueprint
from flask_cors import CORS

my_blueprint = Blueprint('my_blueprint', __name__, url_prefix='/my-page')
CORS(my_blueprint)


@metric_retriever.route('/')
def index():
    return render_template('index.html', page_title='My Page!')

이 오류가 발생했습니다.

BuildError : ( 'project_admin', {}, 없음)

내가 같은 전화를 사람을 때

return redirect(url_for('project_admin'))

project_admin블루 프린트 내 에서 함수 를 참조했습니다 . 오류를 해결하기 위해 다음과 같이 함수 이름 점을 추가했습니다.

return redirect(url_for('.project_admin'))

그리고 짜잔, 내 문제가 해결되었습니다.

참고 URL : https://stackoverflow.com/questions/3683108/flask-error-werkzeug-routing-builderror

반응형