Как отправить загрузки изображения в тестах Django?

В документах Django (http://docs.djangoproject.com/en/dev/topics/testing/#django.test.client.Client.post) говорится, чтобы сделать это:

>>> c = Client()
>>> f = open('wishlist.doc')
>>> c.post('/customers/wishes/', {'name': 'fred', 'attachment': f})
>>> f.close()

Но то, когда я делаю это, поле имеет сообщение об ошибке "Отправленный файл, пусто". Это пахнет как проблема PIL, но форма хорошо работает на фактическом сайте.

Чтение файла и отправка этого вместо просто дескриптора не работают ни один и ведут себя то же как передача пустой строки.

6
задан Kyle MacFarlane 20 December 2009 в 20:09
поделиться

2 ответа

Хорошо, я разобрался. Я использовал одно и то же фиктивное изображение для нескольких полей, и Django не сбрасывает указатель после проверки первого поля.

Также пример в документации не показывает, что изображения также нужно открывать в двоичном режиме.

6
ответ дан 17 December 2019 в 02:29
поделиться

Я думаю, что open ожидает путь к файлу относительно того, откуда он вызывается.

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

0
ответ дан 17 December 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: