Невозможно отправить форму модели с помощью CBVs

Я пытаюсь использовать ModelForms и CBVs для их обработки, но я сталкиваюсь с проблемой, особенно при отправке формы. Вот мой код.

forms.py

from django import forms

from .models import Volunteer


class NewVolunteerForm(forms.ModelForm):
    class Meta:
        model = Volunteer
        fields = '__all__'

views.py

from django.http.response import HttpResponse
from django.views.generic.edit import CreateView

from .forms import NewVolunteerForm


class NewVolunteerView(CreateView):
    template_name = 'website/join.html'
    form_class = NewVolunteerForm

    def form_valid(self, form):
        print('Submitting')
        form.save()
        return HttpResponse('DONE')

join.html

{% extends 'website/_base.html' %}
{% block title %}Join Us{% endblock title %}
{% block content %}

    <form method="POST">
        {% csrf_token %}
        {{ form.as_p }}
        <input type="submit">
    </form>

{% endblock content %}

Форма отображается правильно без каких-либо проблем, но когда я заполняю ее и нажимаю кнопку отправки, она просто перерисовывает форму и не отправляет ее вообще.

Я решил эту проблему, добавив атрибут enctype="multipart/form-data" к элементу <form>.

Причина в том, что когда у вас есть поля ImageFields или FileFields, этот атрибут должен использоваться.

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