gpt4 book ai didi

Django 如何在 FileField 中打开文件

转载 作者:行者123 更新时间:2023-12-01 10:30:47 25 4
gpt4 key购买 nike

我需要打开保存在 FileField 中的文件,创建包含文件内容的列表并将其传递给模板。我怎样才能打开文件?我尝试使用 with open(stocklist.csv_file.url, "wb") 但它给了我一个“找不到文件”的错误。如果我这样做:

csv_file = stocklist.csv_file.open(mode="rb")

csv_fileNone。但是,有一个文件。如果我打印 print("stocklist.csv_file.url: %s"% stocklist.csv_file.url) 我会得到

stocklist.csv_file:https://d391vo1.cloudfront.net/csv_pricechart/...ss7.csv

如果我转到管理员,我可以下载该文件。那么,如何打开保存在 FileField 中的文件?

最佳答案

.open() 打开文件游标但不返回它,因为它取决于您的存储(文件系统、S3、FTP...)。打开后,you can use .read() to iterate over the file content .

stocklist.csv_file.open(mode="rb")
content = stocklist.csv_file.read()
stocklist.csv_file.close()

如果你想专门使用文件描述符,那么你可以使用你的存储功能:

from django.core.files.storage import DefaultStorage
storage = DefaultStorage()
f = storage.open(stocklist.csv_file.name, mode='rb')

关于Django 如何在 FileField 中打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42938474/

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