Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 烧瓶蓝图方法未接收Jinja参数_Python_Flask_Jinja2 - Fatal编程技术网

Python 烧瓶蓝图方法未接收Jinja参数

Python 烧瓶蓝图方法未接收Jinja参数,python,flask,jinja2,Python,Flask,Jinja2,在方法中输入参数后,Blueprint方法即失败: TypeError: get_streetreport() missing 1 required positional argument: 'number' 从金贾打来的电话: <form class="form-horizontal" action = "{{ url_for('street_reports.get_streetreport', number=number) }}" method="post"> 如果我从get

在方法中输入参数后,Blueprint方法即失败:

TypeError: get_streetreport() missing 1 required positional argument: 'number'
从金贾打来的电话:

<form class="form-horizontal" action = "{{ url_for('street_reports.get_streetreport', number=number) }}" method="post">

如果我从get_streetreport()中删除该参数,页面将在本地主机上正常加载。”number'是一个字符串变量。发送任何帮助。

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

@street\u report\u blueprint.route(“/street\u report/”,…)

如果
number
应为整数,则应为
../

要向URL添加可变部分,可以将这些特殊部分标记为。然后,这样的部分将作为关键字参数传递给函数。也可以通过使用指定规则来使用转换器


您需要将number参数传递到
render\u模板中


return render\u template(…..,number=number)

好的,我已经更改了最后一行来测试这个:'return render\u template('street\u reports/street\u report.jinja2',number=number'),但仍然是相同的错误消息。谢谢@Ivan,我的理解是action=
“{url\u for('street\u reports.get\u streetreport',number=number)}”
正在将参数“number”传递给get\u streetreport方法,错误为get\u streetreport缺少参数。我假设错误并不在render_模板行中,但我是Flask的初学者。如果我知道需要什么,我会提供更多的信息。如果你投反对票,我会努力在谷歌搜索答案,但没有找到。同样,我已经尽我所能给它命名。Ps我认为否决票是没有根据的+1给你。祝你好运谢谢@Ivan,现在可以了,我应该考虑一下jinja pocoo!但如果你不告诉我,我可能不会点击。这说明我的方法是错误的,我想我可以在method参数中将一个完整的对象传递给Flask blueprint方法,然后将这个对象传递给带有render_模板的网页,但这显然是不实际的。也许我可以将对象放在表单中,然后使用form.request传递整个对象,有点麻烦,但这是演示应用程序,时间紧迫,我会看到。您也可以签出
request.values
以接收表单查询/发布数据。
<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)