生成短uuid并将其用作Django中上载媒体文件的路径。
django-file-upload-to的Python项目详细描述
django文件上载到
django file upload to生成短uuid,用作django中上载媒体文件的路径。在
特点
- 生成短(22个字符)、URL安全的base64编码uuid。在
- 将媒体文件上载到短UUID文件名。在
安装
- 签出最新的django文件上载以释放并复制或符号链接
uuid_upload_path
目录到您的PYTHONPATH
。如果使用pip,运行pip install django-file-upload-to
。在
生成短uuid
生成一个简短的、URL安全的UUID,如下所示:
::
from uuid_upload_path import uuid
uuid() // -> "hCdLEjlQQJW25-sXB3T_Gw"
正在生成上载路径
要将媒体文件上载到短UUID文件名,只需将upload_to
设置为uuid_upload_path.upload_to
。在
::
^{pr2}$为什么使用uuid作为上传路径?在
Django试图确保所有上传的文件在文件系统上都有唯一的名称。它通过在保存新文件之前检查是否存在同名文件来实现这一点,并在新文件与现有文件冲突时添加后缀。在
如果使用内置的django.core.files.storage.FileSystemStorage
将文件保存到磁盘,这不是什么大问题。但是,如果您使用云文件存储,例如storages.backends.s3boto.S3BotoStorage
,那么这种唯一性检查会对文件上载的性能产生显著的影响。更糟糕的是,S3BotoStorage
的默认配置是在上载新文件时覆盖同名的现有文件!在
通过为每个上载的文件生成一个唯一的文件名,django file upload to消除了对昂贵的唯一性检查的需要,并避免意外地覆盖远程云存储上的现有文件。在
支持和公告
下载和错误跟踪可以在main project website <https://github.com/panttojo/django-file-upload-to>
找到。在
更多信息
djangouuid上传路径项目是由davehall开发的,用于进行一些定制。
您可以从django-uuid-upload-path project site <https://github.com/etianen/django-uuid-upload-path>
获得代码。在
- 项目
标签: