Я пытаюсь заставить загрузку работать с Django.Я не получаю сообщение об ошибке при попытке загрузить его, и новый элемент сохраняется, но изображение отсутствует.Другие данные формы все там.Я гуглил и переполнял стек последние 2 дня и не могу найти решение.Я даже не знаю, где это идет не так!Любой совет был бы удивительным.Спасибо.:)
из views.py:
if request.method == 'POST':
form = ItemForm(request.POST, request.FILES, user=request.user, forsale=True)
if form.is_valid():
new_item = form.save()
return item_view(request, marketplace_id, new_item.id)
else:
form = ItemForm(user=request.user)
из models.py:
class Item(models.Model):
photo = StdImageField(upload_to='images/', blank=True, size=(500, 500, True), thumbnail_size=(210, 150, True))
user = models.ForeignKey(User)
...
def __unicode__(self):
return self.name
class ItemForm(ModelForm):
class Meta:
model = Item
fields = ['name', 'description', 'price', 'shipping', 'photo', 'section']
def __init__(self, *args, **kwargs):
self._user = kwargs.pop('user')
super(ItemForm, self).__init__(*args, **kwargs)
из шаблона:
<form enctype="multipart/form-data" action="" method="post" data-ajax="false">{% csrf_token %}
{% for field in form %}
<div class="fieldWrapper" data-role="fieldcontain">
{{ field.errors }}
{{ field.label_tag }} {{ field }}
</div>
{% endfor %}
<input type="submit" value="Save">
</form>
AsЯ вижу, шаблон правильный.Модель Item выглядит хорошо, StdImageField - это оболочка для ImageField.Работает нормально в админке.Форма, кажется, тоже хорошо, ничего особенного.В моем представлении views.py я проверяю запрос POST, вызываю ItemForm и передаю request.POST и request.FILES (и forsale, который является логическим).Я проверяю, является ли форма действительной, если да, я сохраняю ее.Почему это не работает?Элемент сохраняется, но в админ-панели нет файла, связанного с 'photo'.