Не передаётся изображение из формы во view
Я пытаюсь получить данные с формы создания поста:
forms.py
class PostForm(ModelForm):
class Meta:
model = Post
fields = ['text', 'title', 'image']
add_post.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Add post</title>
</head>
<body>
<form action="" method="POST">
{% csrf_token %}
{{form.as_p}}
<button>send</button>
</form>
</body>
</html>
views.py
def add_post(request):
form = PostForm()
context = {'form':form}
if request.method == 'POST':
form = PostForm(request.POST, request.FILES)
if form.is_valid():
title = form.cleaned_data['title']
text = form.cleaned_data['text']
image = form.cleaned_data['image']
poster = request.user
post = Post(text=text, image=image, user=poster, title=title)
post.save()
return render(request, 'posts/entried/add_post.html', context=context)
models.py
class Post(models.Model):
text = models.CharField(max_length=2000)
user = models.ForeignKey('User', on_delete=models.CASCADE)
image = models.ImageField(upload_to='posts_img/', null=True, blank=True)
title = models.CharField(max_length=100)
Я заполняю поля title и text, добавляю изображение в форме на странице, но когда отправляю форму, title и text доходят, а изображение нет. Именно, что не доходит, я проверял во views.py add_post добавлял:
print(request.FILES)
и ничего не выводилось. Что я делаю не так?