У меня есть структура URL, который включает в формате год/месяц/день/SlugДжанго обратный поиск
Пример: 2014/Jan/25/Another_blog/
В моей модели у меня есть функция get_absolute_url
def get_absolute_url(self):
# Format date to yyyy/mon/dd format
datestr = format_date(self.publication_date,'%Y/%b/%d')
slugstr = datestr + '/' + self.machine_name
return (str(slugstr))
вступление URL является
url(r'^(?P\d{4})/(?P[-\w]+)/(?P\d{1,2})/(?P[a-zA-Z0-9_-]+)/$',
PostDetails.as_view(), name='postdetails'),
на мой взгляд, я возвращаюсь к записи Wi го помощника
# Helper
def get_post(self, slug):
return Post.objects.get(machine_name=slug)
При использовании этого в шаблоне с помощью {{}} post.get_absolute_url работает хорошо
Что я пытаюсь сделать, это получить рабочее испытание с использованием реверса()
def test_post_detail_view(self):
a = self.create_post()
url = reverse('postdetails')
resp = self.client.get(url)
self.assertEqual(resp.status_code, 200)
Я попытался:
URL = обратная ('postdetails', арг = [a.machine_name])
url = reverse ('postdetails', kwargs = {'slug': a.machine_name})
Но знайте, что я не получаю обратную логику вправо.
Выход теста:
" '% S' аргументы не найдены." % (lookup_view_s, Args, kwargs)) NoReverseMatch: Обратный для 'postdetails' с аргументами
Любые советы или указатели будут оценены ..
Спасибо за решение. Работала отлично. – campervancoder