django下拉菜单公共模板错误

时间:2009-01-15 16:29:44

标签: django drop-down-menu

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

commodity()只需要2个参数(给定1个)

模板代码,视图和网址如下:

http://dpaste.com/109411/

5 个答案:

答案 0 :(得分:0)

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

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

看看是否有效。

编辑:点击此处查看更多示例 http://docs.djangoproject.com/en/dev/topics/http/urls/#example

答案 1 :(得分:0)

您的商品视图需要一个索引,而网址中没有。

将您的网址更改为:

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

使用以下网址触发它:

http://localhost:8000/commodity/5

5是来自网址的捕获ID。

答案 2 :(得分:0)

感谢您的帮助。至少原始错误不会发生,但两个正则表达式都不起作用。我收到的错误现在是:

当前网址fsafety / commodity /与其中任何一个都不匹配。这是这样的: ^ fsafety / ^商品/(?P \ d +)$

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

{commercial_list%}中的商品%}

再次谢谢!!

安娜

答案 3 :(得分:0)

你的网址应该是:

^fsafety/commodity/(\d+)$

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

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

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

答案 4 :(得分:0)

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

现在改变这个:

commodity_id = request.POST['commodity'] 

到那个:

commodity_id = request.POST['commodity_id'] 

现在应该可以了。