我的Blueprint方法在方法中输入参数后立即失败:
TypeError: get_streetreport() missing 1 required positional argument: 'number'
来自Jinja:
<form class="form-horizontal" action = "{{ url_for('street_reports.get_streetreport', number=number) }}" method="post">
仅供参考,我可以看到在同一个调用页面上可以访问变量号:
<p>You have entered "{{ number }}" in the property name/number field on the previous page.</p>
这个Blueprint方法叫做:
@street_report_blueprint.route('/street_report', methods=['POST', 'GET'])
def get_streetreport(number):
mainselection = request.form['MainlistRadios']
return render_template('street_reports/street_report.jinja2', mainselection = mainselection)
如果我从get_streetreport()中删除参数,页面会在本地主机上正常加载。 &#39;数&#39;是一个字符串变量。任何帮助。
答案 0 :(得分:0)
更新:您需要在路径路径中声明参数。
@street_report_blueprint.route('/street_report/<number>', …)
如果number
预期为整数,则为.../<int:number>
请参阅http://flask.pocoo.org/docs/0.12/quickstart/#variable-rules
要将可变部分添加到URL,您可以将这些特殊部分标记为。然后将这样的部分作为关键字参数传递给您的函数。可选地,可以通过指定规则来使用转换器。
您需要将number参数传递给render_template
return render_template(....., number=number)