gpt4 book ai didi

python - Django 中存储用户上传的文件的位置

转载 作者:行者123 更新时间:2023-12-01 04:09:59 25 4
gpt4 key购买 nike

我正在构建一个 Django 应用程序,用户将在其中上传 CSV 文件。然后,CSV 文件中的每一行将被添加到数据库中(验证数据后)。然后可以丢弃该文件。

根据 Django 文档,我使用它来保存文件。

def handle_uploaded_file(f):
with open('some/file/name.txt', 'wb+') as destination:
for chunk in f.chunks():
destination.write(chunk)

Django 网站上有很多关于处理用户上传的文件的警告,所以我的问题是,这些文件应该保存在哪里?我的猜测是这并不重要,但我想确定一下。

目前我计划在我的设置文件中创建一个名为 UPLOADS_URL 的变量。所有上传的文件都将存储在那里。

最佳答案

事实上,将这些文件放在哪里并不重要,特别是如果您在之后丢弃它们的话。唯一重要的事情是将它们放在网络服务器无法访问的地方。因此,例如,如果您的静态文件和/或应用代码存储在 /var/www 目录中,请勿将上传的文件放在那里。

现有 Django 设置名为 MEDIA_ROOT and MEDIA_URL用作存储上传文件的默认位置。 MEDIA_ROOT 是存储文件的路径,MEDIA_URL 是 http 客户端可用于检索上传文件的 URL 路径(因此在您的情况下不需要) .

您需要真正注意的是 CSV 文件的内容。由于您要将它们存储在数据库中并稍后重新使用它们,因此您应该在存储之前仔细验证内容。例如,如果您要存储稍后将在网站上显示的字符串,您需要确保它不包含任何 javascript...

关于python - Django 中存储用户上传的文件的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35080194/

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