如何在Django中为指定用户上传用户资料照片?
我在我的UserProfile模型里有一个照片字段,这样用户就可以上传自己的照片。我原本以为只需要为UserProfile创建一个ModelForm就可以了,但如果不指定用户的话,这样是行不通的。当然,如果我把request.user作为参数传给表单的构造函数,这样也不行,因为这个表单的UserProfile并没有和这个用户关联起来。
class ProfileUploadPhotoForm(forms.ModelForm):
class Meta:
model = UserProfile
fields = ('photo',)
有没有什么办法可以指定要修改哪个用户的资料呢?
2 个回答
0
问题解决了!
我忘了在表单属性里加上
enctype="multipart/form-data"
。
1
你需要传递一个 UserProfile
的实例,才能进行更新。
uploadform = ProfileUploadPhotoForm(request.POST, request.FILES,\
instance=request.user.userprofile)
if uploadform.is_valid():
uploadform.save()