0

我的公共模板从 Postgres 抓取数据到下拉菜单。模板在下拉菜单中显示数据。激活选择时,会发生以下错误:

商品()正好需要 2 个参数(1 个给定)

模板代码、视图和 URL 在这里:

http://dpaste.com/109411/

4

5 回答 5

0

您忘记在 url 文件中添加正则表达式

(r'^commodity/(\d+)$', 'commodity'),

看看这是否有效。

编辑:在这里查看更多示例 http://docs.djangoproject.com/en/dev/topics/http/urls/#example

于 2009-01-15T16:33:57.800 回答
0

您的商品视图需要一个索引,但 url 中没有给出任何索引。

将您的网址更改为:

(r'^commodity/(?P<commodity_id>\d+)$', 'commodity')

并使用以下网址触发它:

http://localhost:8000/commodity/5

5 是从 url 捕获的 ID。

于 2009-01-15T16:36:01.493 回答
0

谢谢大家的帮助。至少最初的错误没有发生,但两个正则表达式都不起作用。我收到的错误现在是这样的:

当前 URL fsafety/commodity/ 与其中任何一个都不匹配。这些是: ^fsafety/ ^commodity/(?P\d+)$

至少我现在知道,错误出在 URL 中,但是否也有可能没有从表单传递 ID?数据直到在表单中的此语句之后才会出现:

{% 商品列表中的商品 %}

再次感谢你!!

安娜

于 2009-01-15T17:51:33.213 回答
0

你的网址应该是:

^fsafety/commodity/(\d+)$

或者,如果您想要一个命名表达式:

^fsafety/commodity/(?P<commidity_id>\d+)$

你有两个主要问题。首先是您的商品 ID 组必须命名或编号。 (?P<group_name_here>\d+)是一个命名组,而(\d+)是一个编号组,并根据顺序捕获。其次,您需要完全限定您的 URL,除非您使用include()命令来包含另一个 Django 应用程序的 urls.py 文件。

于 2009-01-15T20:01:27.960 回答
0

我误读了你最初的帖子。使用原始正则表达式并从函数中删除商品 ID 参数。

现在改变这个:

commodity_id = request.POST['commodity'] 

对此:

commodity_id = request.POST['commodity_id'] 

现在它应该可以工作了。

于 2009-01-15T20:02:42.793 回答