У меня есть приложение для блога, которое использует django_taggit . Мои HomePageView
подклассы ArchiveIndexView
и работают хорошо.
Теперь мне бы хотелось, чтобы работала следующая ссылка: http://mysite.com/tag/yellow
, и я хотел бы использовать универсальный класс ArchiveIndexView
и передать измененный набор запросов, который фильтрует тег tag_slug. Я хочу сделать это, потому что я хочу использовать тот же шаблон, что и домашняя страница.
Мой urls.py
является
url(r'^$', HomePageView.as_view(paginate_by=5, date_field='pub_date',template_name='homepage.html'),
),
url(r'^tag/(?P<tag_slug>[-\w]+)/$', 'tag_view'), # I know this is wrong
Мой views.py
является
class HomePageView(ArchiveIndexView):
"""Extends the detail view to add Events to the context"""
model = Entry
def get_context_data(self, **kwargs):
context = super(HomePageView, self).get_context_data(**kwargs)
context['events'] = Event.objects.filter(end_time__gte=datetime.datetime.now()
).order_by('start_time')[:5]
context['comments'] = Comment.objects.filter(allow=True).order_by('created').reverse()[:4]
return context
Я понимаю, что я здесь потерян, и мне нужна помощь в выяснении, как создать новый класс TagViewPage()
, который изменяет набор запросов путем фильтрации по tag_slug.