Форма не проходит валидацию django
Форма не проходит валидацию и на html странице пишет ошибку "This field is required."
forms.py:
class PostCreateForm(forms.ModelForm):
class Meta:
model = Image
fields =('image','title', 'description')
models.py:
class Image(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='images_created', on_delete=models.CASCADE)
title = models.CharField(max_length=200)
slug = models.SlugField(max_length=200, blank=True)
image = models.ImageField(upload_to='images/%Y/%m/%d/')
description = models.TextField(blank=True)
created = models.DateField(auto_now_add=True, db_index=True)
users_like = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='images_liked', blank=True)
def __str__(self):
return self.title
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
super(Image, self).save(*args, **kwargs)
def get_absolute_url(self):
return reverse('images:detail', args=[self.id, self.slug])
views.py:
@login_required
def post_image(request):
if request.method == 'POST':
print(True)
form = PostCreateForm(request.POST)
print(form.errors)
if form.is_valid():
print(True)
new_item = form.save(commit=False)
new_item.user = request.user
new_item.save()
return redirect(new_item.get_absolute_url())
else:
form = PostCreateForm(request.GET)
return render(request, 'images/image/image_create_form.html', {'form': form})
html:
{% extends 'base.html' %}
{% block title %}Post your Image{% endblock %}
{% block content %}
<h1>Post your Image</h1>
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Post your image">
</form>
{% endblock %}