Я пытаюсь использовать Django 1.3 FormWizard для загрузки файла с двумя шагами: 1. Только FileField 2. Если файл был правильно загружен и действителен (после пользовательской проверки), предложите дать ему имя и описание.Использование FileField в FormWizard (Django 1.3)
После документации я писал:
class CreateCheckWizard(FormWizard):
def done(self, request, form_list):
return HttpResponseRedirect('/my_checks/')
def get_template(self, step):
return ['create_check_%s.html' % step, 'create_check_1.html']
class CreateCheckForm1(forms.Form):
my_file = forms.FileField()
class CreateCheckForm2(forms.Form):
title = forms.CharField(max_length=255)
Я добавил многосекционный/form-данные в виде тега в шаблоне: <form enctype="multipart/form-data" action="." method="post">
Однако, даже если загрузить файл, я получить ошибку «Это поле обязательно».
Я думаю, что форма создана без поля request.FILES. Как мы можем изменить это поведение для успешной загрузки файлов в FormWizard?
Редактировать: Если посмотреть на исходный код Django, он действительно создает формы с использованием form(request.POST)
вместо form(request.POST, request.FILES)
, как и для обработки файлов. Любой способ загрузить файлы без изменения исходного кода?
Спасибо Alasdair. Я видел, что он был доступен на 1,4, но поскольку я использую 1.3, внешний плагин, который вы дали ссылке, именно то, что я искал, спасибо! – Thomas