Esta es mi forma:¿Qué no estoy haciendo bien en este formulario de carga de archivo django?
from django import forms
class UploadFileForm(forms.Form):
titl = forms.CharField(max_length=50)
ffile = forms.FileField()
Este es mi archivo views.py:
def handle_uploaded_file(file_path):
print "handle_uploaded_file"
dest = open(file_path.name,"wb")
for chunk in file_path.chunks():
dest.write(chunk)
dest.close()
def handle_upload(request):
c = {}
c.update(csrf(request))
if request.method == "POST":
form = UploadFileForm(request.POST)
if form.is_valid():
handle_uploaded_file(request.FILES["ffile"])
return HttpResponseRedirect("/thanks")
else:
form = UploadFileForm()
c.update({"form":form})
return render_to_response("upload.html",c)
Y este es el contenido del Upload.html:
<form enctype="multipart/form-data" method="post" action="/handle_upload/">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Upload it"/>
</form>
Siempre que intento envíe el formulario, obtengo un "Este campo es obligatorio" para el campo ffile
. ¿Qué estoy haciendo mal? Solo para mencionar, estoy cargando un archivo cada vez.
Enlace de documentación: https://docs.djangoproject.com/en/stable/ref/forms/api/#binding-uploaded-files – Flimm