在Django中上传图片时出错:“强制转换为Unicode:需要字符串或缓冲区,找到元组”

| 尝试在Django中使用ImageField。 这是我的模特
class Album(models.Model):
    title = models.CharField(max_length=100)

    def __unicode__(self):
        return self.title

class Photo(models.Model):
    image = models.ImageField(upload_to=\'photos/\')
    album = models.ForeignKey(Album)
    title = models.CharField(max_length=100, default=\"\")

    def __unicode__(self):
        return self.title

class PhotoModelForm(forms.ModelForm):
    class Meta:
        model = Photo
这是urls.py的一部分
...
url(r\'^trial/upload/$\', \'trial.views.upload\'),
...
views.py
def upload(request):
    if request.method == \'POST\':
        form = PhotoModelForm(request.POST, request.FILES)
        if form.is_valid():
            photo = form.save()
            return render_to_response(\'trial/thanks_upload.html\',{
                \'photo\': photo
            }, context_instance = RequestContext(request))
    else:
        form = PhotoModelForm()
    return render_to_response(\'trial/upload.html\', {
      \'form\': form
    }, context_instance = RequestContext(request))
upload.html
<form enctype=\"multipart/form-data\" action=\"/trial/upload/\" method=\"post\">
    {% csrf_token %}
    {% for field in form %}
        <div class=\"fieldWrapper\">
            {{ field.errors }}
            {{ field.label_tag }}: {{ field }}
        </div>
    {% endfor %}
    <p><input type=\"submit\" value=\"Upload\" /></p>
</form>
但是在保存时,我有下一个错误: 在/ trial / upload /的TypeError 强制转换为Unicode:需要字符串或缓冲区,找到元组 错误出现在photo.save上 有人知道为什么会这样吗?为什么元组会出现?我确定有一个愚蠢的错误...     
已邀请:
        我自己弄的。在settings.py中有MEDIA_ROOT设置,
MEDIA_ROOT = \'d:/dev/python/scripts/app/media/\',
Python由于末尾的逗号而使对象成为元组。这就是为什么它无法保存对象的原因。下次看你的逗号!     

要回复问题请先登录注册