2011-03-03 44 views
0

我有一個照片場在我用戶配置模式,使任何用戶都可以上傳自己的照片。我在想,我需要的是爲用戶配置的ModelForm,但沒有用戶指定它會失敗的,當然。但是,如果我通過了request.user作爲參數到一個窗體構造 - 它不能工作,因爲事情是形式的用戶配置沒有與該用戶連接。如何在django中將指定用戶的照片上傳到UserProfile中?

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

有沒有什麼辦法可以設置,哪個用戶的配置文件要修改?

+0

不能使用會話數據? – Endophage

回答

1

你需要傳遞一個UserProfile的實例進行更新。

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

if uploadform.is_valid(): 
    uploadform.save() 
+0

謝謝,但它不工作,也只是默默地失敗。並且照片沒有上傳。 – Enchantner

+0

您是否對ModelForm保存方法或驗證做過任何事情? –

0

問題解決! 我忘了添加

enctype="multipart/form-data" 

in form attributes。

相關問題