Отправка формы django crispy с полем файла и некоторыми другими текстовыми полями с помощью fetch и затем
Я пытаюсь отправить мою crispy форму с помощью методов fetch и then на бэкенд django. Все мои поля отправляются на сервер. но файлы отображаются как пустые поля на сервере. Ниже приведен мой front end из
 {{ photo.media }}
            <form action="" method="post" class="form my-4 px-2" enctype="multipart/form-data" id="photo_form"
                onsubmit="">
                {% csrf_token %}
                {{photo|crispy}}
                <input type="submit" value="Add" class="btn btn-primary btn-lg">
            </form>
Вот ajax запрос, который я сделал
           <script>
                const photoForm = document.querySelector('#photo_form');
                console.log(photoForm.values);
                photoForm.addEventListener('submit', (event) => {
                    event.preventDefault();
                    const photoFormData = new FormData(photoForm);
                    photoFormData.forEach((value, key) => {
                        console.log(key + ': ' + value);
                    });
                    fetch("{% url 'add_photo' %}", {
                        method: 'POST',
                        body: photoFormData,
                        contentType: false,
                        processData: false,
                    })
                        .then((response) => response.json())
                        .then((data) => {
                            console.log(data);
                            if (data.result == 'success') {
                                $('.modal-body').html('Form submission was successful!');
                                $('#modal-dialog').modal('show');
                                photoForm.reset();
                            } else {
                                $('.modal-body').html('There was an error with the form submission.');
                                $('#modal-dialog').modal('show');
                            }
                        });
                });
            </script>
Ниже представлена модель, которую я сделал
class Photos(models.Model):
    photo_title = models.CharField(max_length=50, blank=False)
    photo_description = models.CharField(max_length=50, blank=False)
    photo_date = models.DateField(blank=False)
    photo_location = models.CharField(max_length=50, blank=False)
    photo_file = models.ImageField(upload_to='photos', blank=False)
    def __str__(self):
        return self.photo_title
Ниже приведена функция просмотра
""" ajax add photo event to home wall """
def add_photo(request):
    if request.method == 'POST':
        response_data = {}
        photoForm = UploadPhotosForm(request.POST)
        print(photoForm.is_valid())
        print(photoForm.errors)
        if photoForm.is_valid():
            photoForm.save()
            response_data['result'] = 'success'
            print(response_data)
            return HttpResponse(
                JsonResponse(response_data),
            )
    else:
        response_data['result'] = 'error'
        print(photoForm.errors)
        return HttpResponse(
            JsonResponse(response_data),
        )
Пока я пытался разобраться в проблеме, я получил следующие результаты
со стороны клиента
csrfmiddlewaretoken: xDJ7qlvfOgaPta6VXkIH03QlT1AybEQ46xcC2ri09MO4F7DbBPGbeNehMrJa3Rjy
(index):141 photo_title: sadfsf
(index):141 photo_description: sfsfse
(index):141 photo_date: 2022-12-22
(index):141 photo_location: adsafd
(index):141 photo_file: [object File]
(index):144 
POST http://127.0.0.1:8000/manager/add/photo/ 500 (Internal Server Error)
(anonymous) @ (index):144
VM750:1 
        
       Uncaught (in promise) SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
Promise.then (async)
(anonymous) @ (index):149
со стороны сервера
False
<ul class="errorlist"><li>photo_file<ul class="errorlist"><li>This field is required.</li></ul></li></ul>
<ul class="errorlist"><li>photo_file<ul class="errorlist"><li>This field is required.</li></ul></li></ul>
[21/Dec/2022 15:09:10] "POST /manager/add/photo/ HTTP/1.1" 200 19
может ли кто-нибудь помочь мне разобраться с проблемой?
 В вашем методе post измените на:
photoForm = UploadPhotosForm(request.POST,request.FILES)