Я хотел бы проверить загрузку файла из моего представления с помощью следующей функции:
def test_post(self):
with open("path/to/myfile/test_file.txt") as file:
post_data = {
'description': "Some important file",
'file': file,
}
response = self.client.post(self.test_url, post_data)
self.assertEqual(response.status_code, 302)
document = Document.objects.first()
self.assertEqual(document.description, "My File")
self.assertEqual(document.filename, 'test_file.txt')
Когда я проверяю загрузку файла на реальном веб-сайте, это работает.Но когда я запускаю этот тест, я получаю следующую ошибку:
django.core.exceptions.SuspiciousFileOperation: Хранилище не может найти доступное имя файла для "WHJpMYuGGCMdSKFruieo / Documents / eWEjGvEojETTghSVCijsaCINTXKVYKFXVKWKWCWKWKWCWCWKWCWCWCWCWCWCFXVCFXVCFXVCFXVXVCFXVXVCVCFXVXVCFXVXVCFXVXVCFXVXVCFXVXVCFXVXVXVCVXVXVXVXVXVXVXVXVXVXVXVXVXVXTVTПожалуйста, убедитесь, что в соответствующем поле файла достаточно «max_length».
Вот моя форма save
метод:
def save(self, commit=True):
instance = super(DocumentForm, self).save(commit=False)
instance.filename = self.cleaned_data['file'].name
if commit:
instance.save() # error occurs here
return instance
Видя, как это работает на реальном сайте,Я подозреваю, что это как-то связано с тем, как я настроил файл в тесте;возможно что-то маленькое.