0

投稿されたデータを使用してUser_Imageというモデルを保存しようとするまで機能する、単純な画像アップロードフォームを作成しようとしています。私が得るエラーはこれです:int()引数は' QueryDict 'ではなく文字列または数値でなければならず、*****とマークされた行でそれを受け取ります。助けてくれてありがとう。

models.py:

class User_Image(models.Model):
    image = models.ImageField(upload_to="img") 
    user_profile = models.ForeignKey(UserProfile)
    title = models.CharField(max_length=10)

forms.py:

class User_ImageForm(ModelForm):
    class Meta:
         model = User_Image

views.py:

def upload_image(request):
    if request.method == 'POST':
       HttpResponseRedirect("/accounts/profile")
       form = User_ImageForm(request.POST, request.FILES)
       if form.is_valid():
          im = User_Image(request.POST, request.FILES)
          ******im = im.save()
          HttpResponseRedirect("/accounts/profile")
       else:
          form = User_ImageForm()
       return render_to_response('uploadimage.html', {'form':form}, context_instance=RequestContext(request))
4

2 に答える 2

1

なぜモデルクラスに直接保存するのですか?試す:

form = User_ImageForm(request.POST, request.FILES)
if form.is_valid():
    im = form.save()
    HttpResponseRedirect("/accounts/profile")
于 2013-01-17T06:01:48.847 に答える
0

行をたどる必要はありません。

im = User_Image(request.POST, request.FILES)
im = im.save()

フォームを保存するのに十分です、

.....
if form.is_valid():
   form.save()
   HttpResponseRedirect("/accounts/profile")
.....
于 2013-01-17T07:13:12.407 に答える