gpt4 book ai didi

python - 如何将本地文件分配给 Django 中的 FileField?

转载 作者:IT老高 更新时间:2023-10-28 22:15:28 26 4
gpt4 key购买 nike

我试图将一个文件从我的磁盘分配给 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 使用它自己的 file type (具有明显增强的功能)。无论如何,Django 的文件类型就像 decorator ,因此您可以简单地将其包装在现有的文件对象周围以满足 Django API 的需求。

from django.core.files import File

local_file = open('mytest.pdf')
djangofile = File(local_file)
pdfImage.myfile.save('new', djangofile)
local_file.close()

您当然可以通过编写以下内容(少一行)来动态修饰文件:

pdfImage.myfile.save('new', File(local_file))

关于python - 如何将本地文件分配给 Django 中的 FileField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3501588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com