2017-02-22 10 views
1

誰かが私のミスを見つけるのを助けることができますか?私はdjangoに新しいです。私はフォームを使用して画像をアップロードしたいと思います。django形式を使用してファイルをアップロード

request.POST.get(「IMAGE_URL」)は常に空を返し
#forms.py 
class ProfileFormSt(forms.Form): 
    image_url = forms.FileField(required=False) 

#views.py 
class UpdateProfileStView(FormView): 
    template_name = "home/member_st_form.html" 

    def get(self, request, id): 
     user = User.objects.get(id=self.kwargs['id']) 
     profile = StudentProfile.objects.get(user=user) 
     form = ProfileFormSt(initial={ 
      'image_url': profile.propic, 
     }) 
     return render(request, self.template_name, {'form': form}) 

    def post(self, request, id): 
     user = User.objects.get(id=self.kwargs['id']) 
     form = ProfileFormSt(request.POST, request.FILES) 
     profile = StudentProfile.objects.get(user=user) 
     if request.POST.get('image_url'): 
      profile.propic = request.POST.get('image_url') 
     profile.save() 
     return redirect('home:member-profile-st', id) 

#member_st_form.html 
<form action="" method="post" enctype="multipart/form-data">{% csrf_token %} {{ form.as_p }} 
    <button type="submit">update</button> 
</form> 

#models.py 
class StudentProfile(models.Model): 
     user = models.ForeignKey(User, on_delete=models.CASCADE) 
     propic = models.FileField(default="profile-icon.png") 

...私が間違っていたものを見つけるカント...

答えて

1

あなたIMAGE_URLは、ファイルフィールドなので、request.FILESに存在しなければなりません

if request.FILES['image_url']: 
    profile.propic = request.FILES['image_url'] 
+0

すごくうまくいきました... ..すばやい回答ありがとうございました。:D – mursalin

+0

ありがとう#SOreadytohelp –

関連する問題