Попытка работать с ImageField в Django.
Вот мои модели
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>
Но при сохранении у меня появляется следующая ошибка:
TypeError at / trial / upload /
приведение к Unicode: нужна строка или буфер, кортеж найден
Ошибки появляются на фото. Сохранение
У кого-нибудь есть идеи, почему это может быть? Почему tuple появляется вообще? Я уверен, что есть глупая ошибка ...