Link Search Menu Expand Document

Класс CreateView

Данный класс используется для получения страницы добавления объекта

  1. Для его использования импортируем библиотеку в файле views.py:

    from django.views.generic import CreateView
    
  2. Далее нам нужно связать наш класс с классом формы.

    class CreateNews(CreateView):
        form_class = NewsForm
        template_name = 'news/add_news.html'
    
  3. В файле urls.py добавим соответсвующее условие вызова:

    path('news/add-news/', CreateNews.as_view(), name='add_news')
    

После этого созданная форма будет производить редирект на созданную запись (в случае если данные валидны). Данный редирект происходит благодаря методу get_absolute_url (описанного в файле modules.py). Мы можем самостоятельно переопределить правила редиректа указав атрибут success_url. В данном параметре мы можем использовать функцию reverse_lazy (которая генерирует ссылку на нужную страницу)