我的公共模板从 Postgres 抓取数据到下拉菜单。模板在下拉菜单中显示数据。激活选择时,会发生以下错误:
商品()正好需要 2 个参数(1 个给定)
模板代码、视图和 URL 在这里:
我的公共模板从 Postgres 抓取数据到下拉菜单。模板在下拉菜单中显示数据。激活选择时,会发生以下错误:
商品()正好需要 2 个参数(1 个给定)
模板代码、视图和 URL 在这里:
您忘记在 url 文件中添加正则表达式
(r'^commodity/(\d+)$', 'commodity'),
看看这是否有效。
编辑:在这里查看更多示例 http://docs.djangoproject.com/en/dev/topics/http/urls/#example
您的商品视图需要一个索引,但 url 中没有给出任何索引。
将您的网址更改为:
(r'^commodity/(?P<commodity_id>\d+)$', 'commodity')
并使用以下网址触发它:
http://localhost:8000/commodity/5
5 是从 url 捕获的 ID。
谢谢大家的帮助。至少最初的错误没有发生,但两个正则表达式都不起作用。我收到的错误现在是这样的:
当前 URL fsafety/commodity/ 与其中任何一个都不匹配。这些是: ^fsafety/ ^commodity/(?P\d+)$
至少我现在知道,错误出在 URL 中,但是否也有可能没有从表单传递 ID?数据直到在表单中的此语句之后才会出现:
{% 商品列表中的商品 %}
再次感谢你!!
安娜
你的网址应该是:
^fsafety/commodity/(\d+)$
或者,如果您想要一个命名表达式:
^fsafety/commodity/(?P<commidity_id>\d+)$
你有两个主要问题。首先是您的商品 ID 组必须命名或编号。 (?P<group_name_here>\d+)
是一个命名组,而(\d+)
是一个编号组,并根据顺序捕获。其次,您需要完全限定您的 URL,除非您使用include()
命令来包含另一个 Django 应用程序的 urls.py 文件。
我误读了你最初的帖子。使用原始正则表达式并从函数中删除商品 ID 参数。
现在改变这个:
commodity_id = request.POST['commodity']
对此:
commodity_id = request.POST['commodity_id']
现在它应该可以工作了。