AJAX загружает проблему в приложении Django - PullRequest
2 голосов
/ 19 февраля 2011

Я следовал инструкциям, размещенным здесь , чтобы загружать файлы AJAX в мое приложение Django.Дело в том, что он не работает, и ближе всего к этой проблеме я обнаружил, что метод save_upload () вызывает следующее исключение: 'WSGIRequest' объект не имеет атрибута 'прочитать '.Любые идеи о том, что я делаю не так?

РЕДАКТИРОВАТЬ: Я понял, что это работает только в Django 1.3.Любые идеи о том, как заставить его работать в Django 1.2?

1 Ответ

3 голосов
/ 09 июня 2011

Я думаю, что дошел до сути вашей проблемы.

1) Вы пытаетесь запустить .read () для объекта запроса, что недопустимо. Вместо этого вам нужно запустить его на request.raw_post_data.

2) Прежде чем вы сможете запустить .read (), который принимает объект, подобный файлу, вам необходимо преобразовать его из str в объект, подобный файлу.

Попробуйте это:

import StringIO
output = StringIO.StringIO()
output.write(request.raw_post_data)

... теперь вы сможете запустить output.read () и получить нужные данные.

        #loop through, writing more of the file each time
        file_so_far = output.read( 1024 ) #Get ready....
        while file_so_far: #..get set...
          dest.write( file_so_far ) #Go.
          file_so_far = output.read( 1024 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...