Загрузка файла Django ... почему это работает? - PullRequest
2 голосов
/ 22 марта 2011

Я впервые пытаюсь загрузить файл с помощью Django. Я сделал что-то, и это сработало, хотя позже я понял, что это не правильный способ сделать это. Когда я вызывал save для объекта, вызывал ли он встроенный обработчик для FileField? Я понимаю, что должен создать свой собственный обработчик, но мне было просто любопытно, почему это работает.

def upload_test(request):
user=User.objects.get(pk=user.id)
photoform=PhotoForm()
if request.method=='POST':
    photoform=Post_PhotoForm(request.POST,request.FILES)
    if photoform.is_valid():
        photo=photoform.save(commit=False)
        photo.user=user
        photo.save()
        return HttpResponse('success')
    else:
        return HttpResponse('%s' %photoform.errors)
return render_to_response("site/upload_test.html", {'photoform':photoform}, context_instance=RequestContext(request))   

Это сохранение объекта и загрузка файла в каталог, указанный в FileField.

Если я создаю обработчик, который записывает файл кусками, как я могу также сохранить экземпляр фотоформы? Это создаст дубликаты?

Спасибо за понимание.

1 Ответ

1 голос
/ 23 марта 2011

я представляю PhotoForm это ModelForm? Ручная обработка загруженных файлов, как описано в документах , требуется только для стандартных Form с. Обработка чанка выполняется в фоновом режиме models.FileField и его storage объектом и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...