如果端点方法名称与路由不同,则为Flask werkzeug.routing.BuildError

时间:2016-03-18 05:39:43

标签: flask jinja2 werkzeug

我正在使用带有蓝图的Flask来构建路由端点。 以下工作正常:

@my_view.route('/send_email', methods=['GET', 'POST'])
def send_email():
    print(">>send_email()")

wtf形式:

<form role="form" action="{{ url_for('my_view.send_email') }}" method="post">

但是,如果我更改下面的方法名称,我会收到错误“werkzeug.routing.BuildError:无法为端点'my_view.send_email'构建网址。”

@my_view.route('/send_email', methods=['GET', 'POST'])
def some_other_method_name():
    print(">>some_other_method_name()")

为什么我需要将方法命名为与此方法相同的方法?

1 个答案:

答案 0 :(得分:1)

url_for使用函数 name 来构建url路径。变化

<form role="form" action="{{ url_for('my_view.send_email') }}" method="post">

<form role="form" action="{{ url_for('my_view.some_other_method_name') }}" method="post">

你应该好好去。有关烧瓶布线如何工作的详细说明,请参见here