Класс CreateView
Данный класс используется для получения страницы добавления объекта
Для его использования импортируем библиотеку в файле
views.py
:from django.views.generic import CreateView
Далее нам нужно связать наш класс с классом формы.
class CreateNews(CreateView): form_class = NewsForm template_name = 'news/add_news.html'
В файле
urls.py
добавим соответсвующее условие вызова:path('news/add-news/', CreateNews.as_view(), name='add_news')
После этого созданная форма будет производить редирект на созданную запись (в случае если данные валидны). Данный редирект происходит благодаря методу get_absolute_url
(описанного в файле modules.py
). Мы можем самостоятельно переопределить правила редиректа указав атрибут success_url
. В данном параметре мы можем использовать функцию reverse_lazy
(которая генерирует ссылку на нужную страницу)