我有一个模板(home.html),我想列出我模型中的所有项目,当我点击它们时,它会将用户带到项目的详细信息页面。
答案 0 :(得分:3)
在循环中,您调用每个对象item
。但是在URL标记中,您引用了instance
,它不存在。你也应该在那里使用item
。
{% url 'show_menuitem' menuitem_slug=item.slug %}
答案 1 :(得分:0)
您的错误显示找不到关键字参数,因为您在menuitem_slug
网址中定义了名为show_menuitem
的关键字参数,但是您将slug
作为关键字参数传递,而不是django网址模式正在寻找对
更改此行,
<h2><a href="{% url 'show_menuitem' slug=instance.slug %}">{{ item }}</a></h2>
到
<h2><a href="{% url 'show_menuitem' menuitem_slug=item.slug %}">{{ item }}</a></h2>
还要确保将get_absolute_url方法更改为
def get_absolute_url(self):
return reverse('show_menuitem', kwargs={'menuitem_slug': self.slug})