尝试在 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'),
...
视图.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))
上传.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>
但是在保存时我有下一个错误: TypeError at /trial/upload/ coercing to Unicode: need string or buffer, tuple found
photo.save上出现错误
有人知道为什么会这样吗?为什么元组会出现?我敢肯定有一个愚蠢的错误...