Как добавить slug в CreateView?

У меня есть модель article, в нем есть slug. Как мне создавать модель с CreateView, и генерировать slug через slugify?

views.py

from django.views.generic import DetailView
from django.views.generic.edit import CreateView
from django.shortcuts import render
from django.utils.text import slugify

from .models import Article, Theme
from .forms import ArticleCreateForm

def index(request):

    return render(request, 'article/index.html')


class ArticleCreate(CreateView):

    model = Article
    form_class = ArticleCreateForm
    template_name = 'article/article_form.html'


class ArticleDetailView(DetailView):

    model = Article
    template_name = 'article/article_detail.html'

models.py

from django.utils import timezone
from django.db import models


class Theme(models.Model):

    name = models.CharField(max_length=200)

    def __str__(self):
        return self.name


class Article(models.Model):

    title = models.CharField(max_length=200)
    content = models.TextField()
    theme = models.ForeignKey(Theme, on_delete=models.CASCADE)
    date = models.DateTimeField(default=timezone.now)
    slug = models.SlugField(max_length=40, unique_for_date='date')

    def __str__(self):
        return self.title

Ответы (1 шт):

Автор решения: Sherlock
class ArticleCreate(CreateView):
    model = Article
    form_class = ArticleCreateForm
    template_name = 'article/article_form.html'

    def get_context_data(self, **kwargs):
        context = super(ArticleCreate, self).get_context_data(**kwargs)
        context['slug'] = slugify(kwargs['title'])          
        return context

P.S. Стандартный slugify django не поддерживает кириллицу, если вы предполагаете записи на русском языке, то лучше используйте:

pip install pytils

views.py:

from pytils.translit import slugify
→ Ссылка