Я пытаюсь использовать Django 1.3 FormWizard для загрузки файла в 2 этапа:
1. Только FileField
2. Если файл был правильно загружен и действителен (после пользовательской проверки), предложите дать ему имя и описание.
Следуя документации, я написал:
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)
Я добавил multipart / form-data в тег FORM в шаблоне:
<form enctype="multipart/form-data" action="." method="post">
Однако даже если я загружаю файл, я получаю сообщение об ошибке «Это поле обязательно для заполнения».
Полагаю, форма создается без поля request.FILES.
Как мы можем изменить это поведение для успешной загрузки файлов в FormWizard?
Редактировать: Глядя на исходный код Django, он действительно создает формы, используя form(request.POST)
вместо form(request.POST, request.FILES)
, как это должно быть для обработки файлов.
Любой способ загрузки файлов без изменения исходного кода?