当前位置: 首页 > 面试题库 >

如何在Django中将本地文件分配给FileField?

乌学博
2023-03-14
问题内容

我试图将磁盘中的文件分配给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 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))


 类似资料:
  • 以前,我从android的文件夹中读取了一个json文件, 但是现在为null。请纠正我 错误日志是,

  • 假设我正在从S3文件夹中读取100个文件。每个文件的大小为10 MB。当我执行<code>df=spark.read时。parquet(s3路径),文件(或更确切地说分区)如何在任务之间分布?E、 g.在这种情况下,<code>df</code>将有100个分区,如果spark有10个任务正在运行以将该文件夹的内容读取到数据帧中,那么这些分区是如何分配给这10个任务的?它是以循环方式进行的,还是每

  • 我有一个这样的文本文件: 如何将其读入地图或Erlang中的任何其他数据结构(以进一步迭代每个键及其各自的值)并最终打印地图?

  • 问题内容: 仅仅使用Java 8中的新lambda和功能特性,我不确定如何做到这一点。 例如,以下内容有效: 但是以下内容给我语法错误: 有任何想法吗? 问题答案: 您已经忘记了: 运行:

  • 问题内容: 假设我有一个如下所示的javascript对象: 我将其字符串化以转换为JSON。如何将此JSON保存到本地文本文件,以便可以在记事本等中打开它。 问题答案: Node.js: 浏览器(webapi):

  • 问题内容: 我有一个具有ImageField的模型。如何手动为其分配图像文件?我希望它像对待其他任何上传的文件一样对待它… 问题答案: 请参阅django.core.files.File的django文档 其中fd是打开文件对象: