Автозаполнение поля slug в createView
Я сделал форму для создания поста на сайте блога, но мне нужно автозаполнение slug поста. я пробовал:
просмотров
class CreatePost(LoginRequiredMixin, CreateView):
form_class = PostCreationForm
template_name = 'blog/create_post.html'
login_url = 'login'
def form_valid(self, form):
form.instance.author = self.request.user
form.instance.slug = self.request.title
return super().form_valid(form)
формы
class PostCreationForm(forms.ModelForm):
class Meta:
model = Post
fields = ['title', 'tags', 'text', 'time_to_read', 'image', 'is_published', ]
widgets = {
'text': forms.TextInput(attrs={'class': 'form-control'}),
'time_to_read': forms.NumberInput(),
'image': forms.FileInput()
}
модели
class Post(models.Model):
title = models.CharField(max_length=255)
slug = models.SlugField(max_length=255, unique=True)
author = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
tags = models.ManyToManyField(Tag, related_name='post_tags')
date_created = models.DateTimeField(auto_now_add=True)
time_to_read = models.PositiveIntegerField(blank=True)
text = models.TextField()
image = models.ImageField(upload_to='photos/%Y/%m/%d', blank=True)
is_published = models.BooleanField(default=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('post', kwargs={"slug": self.slug})
но при этом я получил ошибку WSGI
Спасибо за помощь
form.instance.slug = slugify(form.instance.title)