Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django: Save an uploaded file to a FileField

I feel a little stupid for having to ask this… But I can't seem find it documented anywhere.

If I've got a Model with FileField, how can I stuff an uploaded FILE into that FileField?

For example, I'd like to do something like this:

class MyModel(Model):
    file = FileField(...)

def handle_post(request, ...):
    mymodel = MyModel.objects.get(...)
    if request.FILES.get("newfile"):
        mymodel.file = request.FILES["newfile"]

But that doesn't appear to work.

like image 535
David Wolever Avatar asked May 16 '10 18:05

David Wolever


1 Answers

Well, my suspicions were confirmed: I am an idiot :)

The method I outline in my question is, in fact, correct — it wasn't working because I'd forgotten to include enctype="multipart/form-data" on the form.

Anyway, I'll leave this question here, just incase other people have the same problem.

like image 50
David Wolever Avatar answered Sep 19 '22 05:09

David Wolever