2011-03-03 5 views
0

写真私のユーザープロフィールのモデルにありますので、どのユーザーも写真をアップロードすることができます。私が必要と思っていたのはModelFormUserProfileですが、Userは指定されていないと、もちろん失敗します。しかし、request.userをフォームコンストラクタのパラメータとして渡すと、フォームのUserProfileがこのユーザに接続されていないために動作しません。djangoで指定されたユーザーのために写真をUserProfileにアップロードするには?

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

変更するユーザープロファイルはありますか?

+0

セッションデータを使用できませんか? – Endophage

答えて

1

更新するにはのインスタンスを渡す必要があります。

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" 

を追加するのを忘れ。

関連する問題