Добрый день!
Не могу понять почему при переходе по ссылке на страницу с формой выскакивает ошибка 404 следующего содержания:
Request Method: GET
Request URL: http://localhost:8000/news/add-news/
Raised by: news.views.ViewNews
Джанго почему-то указывает на представление ViewNews, хотя за форму у меня отвечает совершенно другое представление: CreateNews.
По порядку:
1. Ссылка на страницу с формой:
<li class="nav-item"><a class="nav-link" href="{%url 'add_news'%}">Добавить новость</a></li>
2. Путь из url.py для этой ссылки:
path('news/add-news/', CreateNews.as_view(), name='add_news')
3. Вьюха CreateNews:
class CreateNews(CreateView):
form_class = NewsForm
template_name = 'news/add_news.html'
На всякий случай напишу здесь метод get_absolute_url для модели News, потому что я так понимаю он на что-то влияет в данном случае:
def get_absolute_url(self):
return reverse('view_news', kwargs={'slug': self.slug})
и метод ViewNews, раз уж на него ссылается Джанго:
class ViewNews(DetailView):
model = News
context_object_name = 'news_item'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['unwanted_link'] = News.objects.get(slug=self.kwargs['slug']).category.pk
return context
Заранее большое спасибо за помощь!