flask和url_for()以及werkzeug.routing.BuildError

时间:2015-07-25 19:26:48

标签: python flask werkzeug

这是一个非常简单的蓝图/控制器:

maintenance_controller = Blueprint('maintenance', __name__, url_prefix='/maintenance')

@maintenance_controller.route('/csv', methods=['GET','POST'])
def csv():
    return render_template('/maintenance/csv.html')

然后,在csv.html

<form action="{{ url_for('csv') }}">
...
</form>

然而,这产生了一个例外:

werkzeug.routing.BuildError
BuildError: ('/csv', {}, None)

我错过了什么?

1 个答案:

答案 0 :(得分:1)

您需要提供蓝图相对路径:

<form action="{{ url_for('.csv') }}">

如果模板在同一个蓝图中。对于蓝图之外的模板,您需要包含蓝图名称:

<form action="{{ url_for('maintenance.csv') }}">

请参阅蓝图文档的Building URLs section