Не передаётся изображение из формы во 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)

и ничего не выводилось. Что я делаю не так?

Вернуться на верх