Как сохранить изображения / файлы в Django? - PullRequest
0 голосов
/ 18 марта 2011

Это может быть глупый вопрос, но я застрял.

Я прочитал документацию по загрузке файлов / изображений в Django здесь, но я не уверен, что делать дальше: http://docs.djangoproject.com/en/1.2/topics/http/file-uploads/

У меня есть модель, определенная ниже:

class PicUploads(models.Model):
    blog_post = models.ForeignKey(Post)
    pic = models.ImageField(upload_to='pics/%Y/%m/%d')

class PicUploadsForm(forms.ModelForm):
    class Meta:
        model=PicUploads
        exclude = ('blog_post',)

Как мне сохранить изображение в файле представлений?

Если я использую функцию handle_uploaded_file, как определено в документации, изображение сохраняется в указанном каталоге, но что мне делать, чтобы сохранить его путь вместе с внешним ключом в модели PicUploads? Почему я не могу просто использовать метод save(), как с текстовыми данными?

1 Ответ

2 голосов
/ 18 марта 2011

save() - это все, что вам нужно для вызова ModelForm с File/ImageField.

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

Просто создайте экземпляр вашей модели с помощью request.POST и request.FILES, вызовите save() и все готово!

form = Form(request.POST, request.FILES)
if form.is_valid():
    form.save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...