I’m trying to mimic the admin interface for the Photologue app on the front end. To achieve this, I have thus far created a bit of code in the view:
def galleryuploader(request):
GalleryFormSet = modelformset_factory(GalleryUpload)
if request.method == 'POST':
formset = GalleryFormSet(request.POST, request.FILES)
if formset.is_valid():
formset.save()
# do something. ... do what?
else:
formset = GalleryFormSet()
return render_to_response("cms_helper/gallery_upload.html", {
"formset": formset,
})
and a template:
<form method="post" action="">
{{ formset }}
<input type="submit" />
</form>
I’m using django’s “form from models” method for generating this front-end form.
The problem: when I try to upload a file (because I am uploading photos to a photo gallery), and hit submit, it returns with a form error telling me that a required field was missing (the file).
I think I am not checking the request for any files, but even if I were to, I’m not quite sure how to. Here’s some documentation about file uploads, but I haven’t been able to decipher it yet.
If you have any suggestions about how to make this upload form work, I’d be veryyy happy to hear them. Thanks in advance!
Add the
enctype="multipart/form-data"attribute to your form tag. Also you’ll need to actually do something with the uploaded files. Here’s the example from the django docs:(See the comment about halfway through)