Как сохранить файлы с помощью мастера форм django?

#django #django-formwizard

#django #django-formwizard

Вопрос:

Как сохранить файлы с помощью мастера форм django? Я использую Django 1.3 и не могу найти примеры и решения. ;-/

С помощью Google и django docs я написал это:

 class ContactWizard(FormWizard):

def done(self, request, form_list):
    d = dict((k, v) for form in form_list for k, v in form.cleaned_data.items())
    d['ip'] = request.META.get('REMOTE_ADDR')
    d['password'] = hashlib.sha1(d['password'])
    db = Ads(**d)
    db.save()
    return HttpResponseRedirect('/')
  

Хорошо, это сохранит все данные POST. Но файлы? Я могу перехватить их с помощью запроса.Файлы. Я должен сохранять их отдельно? Как сделать это лучше всего? Моя форма с файлами — последний шаг в мастере форм.
Я буду благодарен за предложения и примеры 😉

Ответ №1:

Как насчет того, чтобы просто передать его в Ads в качестве FileField? Итак, в основном, что-то вроде этого:

 d['myfile'] = request.FILES['myfile']
  

Комментарии:

1. Почему я не подумал об этом? Простое решение. Это работает. Спасибо.

2. Запрос содержит файлы только последней формы. Есть предложения по извлечению файлов из предыдущих форм?