Mis vistas
def apost(request): if request.method =='POST': form = APostForm(request.POST, request.FILES) if form.is_valid(): form = form.save(commit=False) form.slug = slugify(form.title) form.save() return redirect('apost') else: form = APostForm() template_name = 'dadmin/form.html' items = Post.objects.all() context = {'title':'Add Post','form':form,'items':items} return render (request, template_name, context)mi formulario
class APostForm(forms.ModelForm): class Meta: model = Post fields = {'title','photo','content'}Modelos
photo = models.ImageField(upload_to='images')Ninguna imagen cargada es Aceptada La foto está seleccionada pero cuando haga clic en Guardar. Muestra que este campo es un error obligatorio. Había buscado a través de las preguntas aquí pero request.FILES resuelve otros problemas pero no los míos. ¿Qué ocurre?
debe usar en la plantilla donde está cargando el formulario:
<form class="form-horizontal form_middle" enctype='multipart/form-data' method="POST"> #apply logic for media upload </form>en views.y, el formulario que está guardando también debe tener request.FILES
studentProfileForm = StudentRegisterForm(request.POST, request.FILES) if studentProfileForm.is_valid(): user = studentProfileForm.save()La carga de archivos es un poco extraña en los formularios modelo en django. Cambie su formularios.py a -
class APostForm(forms.ModelForm): photo=forms.FileField(label='Upload image') # or image field class Meta: model = Post fields = {'title','content'}form.save() guardará automáticamente el campo.