Вы можете реализовать форму с полем загрузки файла, используя экземпляры формы, вот вид:
def form_view(request):
if request.method == 'POST':
form = FooForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return render_to_response('result.html')
return render_to_response('form.html', {
'form': form;
'error_messages': form.errors;
}
form = FooForm()
return render_to_response('form.html', {
'form': form;
}
form.save () сохраняет загруженный файл вместе со всеми другими полями, поскольку вы включили аргумент request.FILES в его конструктор. В ваших моделях вы должны определить подкласс FooForm класса ModelForm следующим образом:
class FooForm(ModleForm):
Meta:
model = Foo
... где Foo - это подкласс Model , который описывает данные, которые вы хотите постоянно хранить.