Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

191
Visualizações
Problemas para cargar la imagen a través del formulario de modelo

Tengo problemas para cargar el campo de imagen en mi formulario de modelo.

vistas.py:

 @user_passes_test(lambda x: x.is_superuser) def add_books(request): if request.method == 'POST': form = BooksForm(request.POST, request.FILES) if form.is_valid(): form.save() redirect('/') else: form = BooksForm() return render(request, 'library/books/addbook.html', {'form': form})

modelos.py:

 class Books(models.Model): picture = models.ImageField(upload_to='images/') name = models.CharField(max_length=100) publisher = models.CharField(max_length=200) author = models.CharField(max_length=100) member = models.ForeignKey(Member, related_name="books", null=True) def get_absolute_url(self): return reverse('library:detail_book', kwargs={'book_id': self.id}) def __unicode__(self): return "%s %s" % (self, self.name, self.author) def __str__(self): return "{0} {1}".format(self.name, self.author)

formularios.py:

 class BooksForm(ModelForm): class Meta: model = Books fields = ('picture', 'name', 'publisher', 'author') def clean_name(self): name = self.cleaned_data['name'] if Books.objects.filter(name=name).exists(): raise ValidationError("A Book with that name already exists!") return name

addbook.html:

 {% extends "library/base.html" %} {% block content %} <div align="center"> <tr> <form method="POST"> {% csrf_token %} <h2>Book:</h2> {{ form.as_p }} <input type="submit" value="submit"> </form> </tr> </div> {% endblock %}

configuración.py:

 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')

Una vez, trato de agregar un libro y agrego el campo de imagen y presiono el botón, el formulario me dice que el campo de imagen es obligatorio y no me deja cargar la imagen. ¡Gracias de antemano por su ayuda!

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Para cargar archivos en su formulario, debe agregar el siguiente atributo al elemento del formulario:

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

Sin esto, el archivo no se carga, por lo que la API de formulario de Django genera un error (ya que es un campo obligatorio).

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda