D

django image выдает ошибку "This field is required".

Виды

введите здесь описание изображения

Модели

введите здесь описание изображения

Forms

введите здесь описание изображения

HTML

введите здесь описание изображения

УРЛЫ

введите здесь описание изображения

Сначала есть опечатка в поле модели titulo должно быть = а не :.

Во-вторых, вы всегда должны возвращать HttpResponseRedirect после работы с данными POST, этот совет не относится к Django, это хорошая веб-практика в целом, поэтому используйте следующий вид:

def criar(request): 
    if request.method == 'GET':
        return render(request, 'create.html', {'form': forms_user()})

    else:
        form = forms_user(request.POST, request.FILES )
               
        if form.is_valid():
            form.save()      
            messages.add_message(request, constants.SUCCESS, 'Cadastro realizado com sucesso.')
            return redirect("success")   
            
        else:
            print(form.errors)
            messages.add_message(request, constants.ERROR, f'{form.errors}')
            return render(request, 'create.html', {'form': forms_user()}) 

Если вы создали modelform, то отобразите поле изображения как показано ниже, и вы также можете убрать атрибут action, так как Django по умолчанию принимает маршрут текущей страницы.

Html:

<form id="contact" method="POST" enctype="multipart/form-data">

  <fieldset>
                  
   <label for="file">Seu arquivo</label>
                    
    {{form.image}}                                    
   </fieldset>
</form>

urls.py

urlpatterns=[
    path("success/", views.success, name="success")
    ...
]

success.html:

<body>
    <h1> The form has been successfully submitted </h1>
</body>
Вернуться на верх