Search code examples
djangodjango-formsdjango-file-upload

Django File Upload: How do I handle the file?


I have read the documentation several times, but I am still confused. When you specify a model in Django, you can specify the file's destination. However, in the documentation, they go on a great deal about handling the write to disk manually. My question is: Is it better to just say form.save() or to write a file handler with a hardcoded(?) path. form.save() has been flakey for me.


Solution

  • Calling the form's save method should work just fine, assuming you are using a forms.ModelForm subclass. Some things to note.

    • Make sure to properly set the form's enctype in the template
    • Be sure the view that handles the form checks for files

      form=MyModelForm(data=request.POST, files=request.FILES)

    When you say form.save() has been flaky, what do you mean?