Программно файлы загрузки в Django

Я проверил несколько других потоков, но у меня все еще есть проблема. У меня есть модель, которая включает FileField, и я генерирую полуслучайные экземпляры в различных целях. Однако у меня есть проблема при загрузке файлов.

Когда я создаю новый файл, это, кажется, работает (новый экземпляр сохраняется к базе данных), файл создается в соответствующем каталоге, но содержание файла отсутствует, или повредить.

Вот соответствующие нормы:

class UploadedFile(models.Model):
  document = models.FileField(upload_to=PATH)


from django.core.files import File

doc = UploadedFile()
with open(filepath, 'wb+') as doc_file:
   doc.documen.save(filename, File(doc_file), save=True)
doc.save()

Спасибо!

9
задан SapphireSun 3 January 2010 в 03:59
поделиться

1 ответ

Может быть так же просто, как открыть файл. Так как вы открыли файл в 'wb+' (запись, двоичный файл, приложение), то хэндл находится в конце файла. попробуйте:

class UploadedFile(models.Model):
  document = models.FileField(upload_to=PATH)


from django.core.files import File

doc = UploadedFile()
with open(filepath, 'rb') as doc_file:
   doc.document.save(filename, File(doc_file), save=True)
doc.save()

Теперь он открыт в начале файла.

.
20
ответ дан 4 December 2019 в 10:32
поделиться
Другие вопросы по тегам:

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