【问题标题】:Flask werkzeug.routing.BuildError if endpoint method name not same as route如果端点方法名称与路由不同,则烧瓶 werkzeug.routing.BuildError
【发布时间】:2016-07-04 18:25:36
【问题描述】:

我正在使用带有蓝图的 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: Could not build url for endpoint 'my_view.send_email'。”

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

为什么我需要将方法命名为与它工作的路由相同?

【问题讨论】:

    标签: flask jinja2 werkzeug


    【解决方案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 以获得有关烧瓶路由如何工作的详细说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 2017-12-20
      • 1970-01-01
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多