在Django中保存Image ModelForm时查询错误

时间:2013-01-17 05:37:40

标签: python django image model

我正在尝试制作一个简单的图片上传表格,直到我尝试使用发布的数据保存名为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))

2 个答案:

答案 0 :(得分:1)

为什么要直接将它保存到模型类中?尝试:

form = User_ImageForm(request.POST, request.FILES)
if form.is_valid():
    im = form.save()
    HttpResponseRedirect("/accounts/profile")

答案 1 :(得分:0)

您不需要遵循以下几行。

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

足以保存表单,

.....
if form.is_valid():
   form.save()
   HttpResponseRedirect("/accounts/profile")
.....