如何在Django中将本地文件分配给FileField?
我试图将磁盘中的文件分配给FileField,但是出现此错误:
AttributeError:’str’对象没有属性’open’
我的python代码:
pdfImage = FileSaver()pdfImage.myfile.save('new', open('mytest.pdf').read())
和我的models.py
class FileSaver(models.Model): myfile = models.FileField(upload_to="files/")
class Meta:
managed=False
预先感谢您的帮助
回答:
Django使用它自己的文件类型(具有明显增强的功能)。无论如何,Django的文件类型就像装饰器一样工作,因此你可以简单地将其包装在现有文件对象周围,以满足Django API的需求。
from django.core.files import Filelocal_file = open('mytest.pdf')
djangofile = File(local_file)
pdfImage.myfile.save('new', djangofile)
local_file.close()
当然,你可以通过编写以下命令(少一行)来动态修饰文件:
pdfImage.myfile.save('new', File(local_file))
以上是 如何在Django中将本地文件分配给FileField? 的全部内容, 来源链接: utcz.com/qa/404657.html