Django: сохранить загруженный файл в FileField - PullRequest
11 голосов
/ 16 мая 2010

Я чувствую себя немного глупо из-за того, что спрашиваю об этом ... Но я не могу найти это где-нибудь задокументированным.

Если у меня есть Model с FileField, как я могу вставить загруженный FILE в этот FileField?

Например, я хотел бы сделать что-то вроде этого:

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

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

Но, похоже, это не сработает.

Ответы [ 2 ]

18 голосов
/ 16 мая 2010

Ну, мои подозрения подтвердились: я идиот :) 1001 *

Метод, который я обрисовал в своем вопросе, на самом деле правильный - он не работал, потому что я забыл включить enctype="multipart/form-data" в форму.

В любом случае, я оставлю этот вопрос здесь, только если другие люди будут иметь такую ​​же проблему.

0 голосов
/ 09 мая 2013

У меня также были проблемы с файлом, который не был действительно отправлен на сервер, когда атрибут имени не был указан во входном теге

<input type="file" name="somename">
...