2013-03-13 64 views
1

我的应用程序允许用户创建图片。Django返回图片名称

在我的图片模块类中,我最近返回了图片对象的描述,并且如果用户没有提供描述。我收到一个错误。

是否可以返回用户为我的图片模块上传的图片的名称?例images.jpg

class Picture(models.Model): 
    user = models.ForeignKey(User) 
    board = models.ForeignKey(Board,blank=False,null=False) 
    image = models.FileField(upload_to="images/",blank=True) 
    description = models.TextField(blank=True) 
    def __unicode__(self): 
     return self.image 

我views.py

def PictureCreator(request): 
    if not request.user.is_authenticated(): 
     return HttpResponseRedirect(reverse('world:LoginRequest')) 

    if request.method == "POST": 
     form = PictureForm(request.POST , request.FILES) 
     if form.is_valid(): 
      picture = Picture(user=request.user) 
      image = form.cleaned_data['image'] 
      if image: 
           picture.image = form.cleaned_data['image'] 
         description = form.cleaned_data['description'] 
      if description: 
           picture.description = form.cleaned_data['description'] 

      board = form.cleaned_data['board'] 
      if board: 
           picture.board = form.cleaned_data['board'] 
      picture.save() 
    return render(request,'picture.html',{'form':PictureForm()}) 

谢谢你帮我

我改变了这种

 image = request.FILES['image'] 
     if image: 
          picture.image = request.FILES['image'] 
        description = form.cleaned_data['description'] 

回答

1
image = request.FILES.get('image') //return image name 
+0

我改变了形象=形式。清洁数据['形象']图像= request.FILES ['形象'],我仍然有同样的错误 – donkeyboy72 2013-03-13 14:12:44

+0

强制为Unicode:需要字符串或缓冲区,发现FieldFile – donkeyboy72 2013-03-13 14:14:33

+0

我发布了我的视图代码在底部因为我改变了它的升技 – donkeyboy72 2013-03-13 14:21:15