При отправке формы выдается ошибка при записи. выход из теста is_valid

if form.is_valid():

Поле ошибок: * Обложка

  • Это поле обязательно для заполнения.

print ( request.POST )

<QueryDict: {'csrfmiddlewaretoken': ['yrPm4Vywus5cMjDNm34zQ8FVyJLdphAK95ErrIhEabOO19ss5ObAhOQe2eM6KO1t'], 'Code': ['5'], 'Title': ['Reforma do Estado e administração pública gerencia'], 'Capa': ['092022 - G DA SILVA REGO (DAS-SIMPLES) (1). pdf'], 'Synopsis': ['092022 - G DA SILVA REGO (DAS-SIMPLES) (1).pdf'], 'Group_code': ['3'], 'Author_code': ['2'], 'Date_Publication': ['17/10/2022'], 'Edition': ['7 edition']}><<1><1> <<1><1>.

contexto = {'form': form } print ( contexto )

{'form': }

models.py `class Livros(models.Model):

Codigo          = models.IntegerField(blank=False, null=False, primary_key=True)
Titulo          = models.CharField(max_length=50, blank=False, null=False)
Capa            = models.FileField(upload_to='capas/')
Sinopse         = models.FileField(upload_to='sinopse/')
Codigo_grupo    = models.ForeignKey(Grupos,  on_delete=models.CASCADE, db_index=True, blank=False, null=False)
Codigo_autor    = models.ForeignKey(Autor ,  on_delete=models.CASCADE, db_index=True, blank=False, null=False)
Data_Publicacao = models.DateField(auto_now = False , auto_now_add = False)
Edicao          = models.CharField(max_length=20, blank=False, null=False)


def __str__(self):
    return str(self.Codigo)+' - '+self.Titulo
**forms.py**

`class LivrosForm(ModelForm):
    class Meta:
        model  = Livros
        fields = ('Codigo','Titulo','Capa','Sinopse','Codigo_grupo','Codigo_autor','Data_Publicacao','Edicao',)
`
**views.py**
`
def livro_novo(request):
    form = LivrosForm(request.POST or None)
    if form.is_valid():  
        form.save()
    else:
        # Added else statment
        msg = 'Errors: %s' % form.errors.as_text()
        print ( msg )
        print ( request.POST )
        contexto = {'form': form }
        print ( contexto )
        print (form.errors)
 
    return redirect('core_lista_livros') `




The form fields are filled in according to the class. what could be missing

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