我的models.py
文件中的一个类具有此功能
def get_absolute_url(self):
return reverse('index', kwargs={'slug': self.slug})
这里有views.py
函数:
def index(request):
cardSets = CardSet.objects.all()
return render(request, 'catalog/index.html', {'cardsets': cardSets})
来自index.html
的代码:
{% for cardset in cardsets %}
<a href="{{ cardset.get_absolute_url }}">
...
我的urls.py
文件如下所示:
urlpatterns = [url(r'^$', views.index, name='index'),
url(r'^cardset/(?P<cardset_slug>[-\w]+)/$', views.show_cardset, name='show_cardset'),]
现在,当我尝试访问http://127.0.0.1:8000/时,我收到以下错误:
在模板中 /home/dennis/PycharmProjects/eshop/templates/catalog/index.html,错误 在第7行
使用参数'()'和关键字参数反转'index' '{'slug':u'first-one'}'找不到。尝试了1种模式:['$']
第7行是<a href="{{ cardset.get_absolute_url }}">
你能告诉我出了什么问题吗?为什么?
答案 0 :(得分:1)
更改获取绝对网址的方法;
def get_absolute_url(self):
return reverse('show_cardset', kwargs={'cardset_slug': self.slug})