首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将文件存储在Django中

如何将文件存储在Django中
EN

Stack Overflow用户
提问于 2020-09-17 10:58:29
回答 1查看 528关注 0票数 0

如何能够在模型中存储Django中的文件?

嗯,我知道FileField,但我不明白它是如何工作的,问题是我想要能够存储文件,而不是路径原因,就像我正在为一个项目制作一个云存储网站,并且希望能够存储这个文件。

当用户想要更改文件名时,我怎么能更改它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-17 12:37:48

我将尝试简单地解释它是如何工作的,因为它将帮助您为您决定最佳的解决方案。

  1. 本地系统存储.

您可以将路径存储在数据库中,并将存储类设置为,FileSystemStorage,这意味着django将知道如何从您的django应用程序正在运行的同一系统的硬盘中进行读写。因此,基本上,您在目录中存储带有对其位置的引用的普通文件。

  1. 云存储.

类似于本地系统,但不是本地路径,而是保存uri位置,而不是本地系统,而是通过http或自定义协议(如s3 )通过网络获取文件。为了实现这一点,您需要声明一个自定义存储类,在其中定义自定义的savedelete方法,以便从云存储中上传和删除。

您可以编写自己的:https://docs.djangoproject.com/en/3.1/howto/custom-file-storage/

或者使用库:https://github.com/jschneier/django-storages

  1. 数据库存储

如果您知道文件是文本,则可以读取它们并将文本直接保存在数据库中,并带有相关的元数据。如果它们是二进制的,您可以将它们存储为Blob类型--这里的风险是性能缓慢和数据库膨胀的风险。AFAIK将二进制文件存储在数据库之外是一种更好的做法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63936580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档