Как загрузить фотографию в UserProfile для указанного пользователя в django? - PullRequest
0 голосов
/ 03 марта 2011

В моей UserProfile модели есть поле photo , поэтому любой пользователь может загрузить свою фотографию.Я думал, что все, что мне нужно, это ModelForm для UserProfile , но без указания пользователя это, конечно, не удастся.Но если я передам request.user в качестве параметра в конструктор формы - он тоже не будет работать, потому что UserProfile формы не связан с этим пользователем.

class ProfileUploadPhotoForm(forms.ModelForm):
    class Meta:
        model = UserProfile
        fields = ('photo',)

Есть ли способ установить, какой профиль пользователя изменять?

Ответы [ 2 ]

1 голос
/ 03 марта 2011

Вам необходимо передать ему экземпляр UserProfile для обновления.

uploadform = ProfileUploadPhotoForm(request.POST, request.FILES,\
    instance=request.user.userprofile)

if uploadform.is_valid():
    uploadform.save()
0 голосов
/ 03 марта 2011

Проблема решена! Я забыл добавить

enctype="multipart/form-data"

в атрибутах формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...