2017-09-15 25 views
-1

我的蓝图方法,只要我进入方法的参数失败:瓶蓝图方法不接受神社参数

TypeError: get_streetreport() missing 1 required positional argument: 'number' 

从神社中调用:

<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> 

这是所谓的蓝图方法:

@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参数(),页面加载本地主机上的罚款。 '数字'是一个字符串变量。发送任何帮助。

回答

0

更新:您需要在路径路径中声明参数。

@street_report_blueprint.route('/street_report/<number>', …)

如果number预计将是一个整数,这将是.../<int:number>

http://flask.pocoo.org/docs/0.12/quickstart/#variable-rules

可变部件添加到您可以标记这些特殊的段作为URL。然后这个部分作为关键字参数传递给你的函数。可选地,通过指定规则可以使用转换器。


您需要的数量参数传递到render_template

return render_template(....., number=number)

+0

OK我已经改变了最后一行来测试这一点: '回归render_template(' street_reports/street_report.jinja2' ,数量=数字)“,但仍然是相同的错误信息。 –

+0

谢谢@Ivan我的理解是action ='“{{url_for('street_reports.get_streetreport',number = number)}}”'将参数'number'传递给get_streetreport方法,并且错误表示get_streetreport缺少参数。我假设错误不是在render_template行中,但我是Flask的初学者。如果我知道需要什么,我会包含更多信息。再次投票反对,我已努力搜索Google和SO以找到答案,但未找到答案。同样,我已尽我所能地标题。 –

+0

Ps我认为downvote是没有根据的。为你+1。祝你好运! –