我的公开模板将Postgres的数据抓取到下拉菜单中。模板在下拉菜单中显示数据。激活选择时,会发生以下错误:
commodity()只需要2个参数(给定1个)
模板代码,视图和网址如下:
答案 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']
现在应该可以了。