2015-11-10 5 views
0

Один из классов в моем 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/ я получаю следующее сообщение об ошибке:

In template /home/dennis/PycharmProjects/eshop/templates/catalog/index.html, error at line 7

Reverse for 'index' with arguments '()' and keyword arguments '{'slug': u'first-one'}' not found. 1 pattern(s) tried: ['$']

Строка 7 является этот бит: <a href="{{ cardset.get_absolute_url }}">

Не могли бы вы, пожалуйста, советовать мне о том, что идет не так и почему?

ответ

1

Изменить метод получения абсолютного url;

def get_absolute_url(self): 
    return reverse('show_cardset', kwargs={'cardset_slug': self.slug}) 
+1

не работает. зачем мне это делать? – Dennis

+0

Вы должны вызвать подробный просмотр карт, а не индексный вид. show_cardset - это адресное имя для просмотра карт. –

+1

в 'kwargs' переименовать' slug' в 'cardet_slug' –

Смежные вопросы