Django提供了访问默认存储类的便捷方法:
DefaultStorage
提供对由定义的默认存储系统的延迟访问 default
键入 STORAGES
。 DefaultStorage
用途 storages
在内部。
default_storage
是一个实例, DefaultStorage
。
FileSystemStorage
班¶这个 FileSystemStorage
类在本地文件系统上实现基本文件存储。它继承自 Storage
并提供所有公共方法的实现。
保存文件的目录的绝对路径。默认值为 MEDIA_ROOT
设置。
文件保存时将接收的文件系统权限。默认为 FILE_UPLOAD_PERMISSIONS
.
目录保存时将接收的文件系统权限。默认为 FILE_UPLOAD_DIRECTORY_PERMISSIONS
.
备注
这个 FileSystemStorage.delete()
如果给定的文件名不存在,方法将不会引发异常。
返回A datetime
系统的CTIME,即 os.path.getctime()
. 在某些系统(如UNIX)上,这是最后一次元数据更改的时间,而在其他系统(如Windows)上,则是文件的创建时间。
InMemoryStorage
班级¶这个 InMemoryStorage
类实现了基于内存的文件存储。它没有持久性,但可以通过避免磁盘访问来加快测试速度。
分配给文件的目录名的绝对路径。默认为您的 MEDIA_ROOT
布景。
为与兼容而提供的分配给文件的文件系统权限 FileSystemStorage
。默认为 FILE_UPLOAD_PERMISSIONS
。
分配给目录的文件系统权限,提供与兼容 FileSystemStorage
。默认为 FILE_UPLOAD_DIRECTORY_PERMISSIONS
。
Storage
班¶这个 Storage
类提供了用于存储文件的标准化API,以及一组默认行为,所有其他存储系统都可以根据需要继承或重写这些行为。
备注
当方法返回幼稚时 datetime
对象,使用的有效时区将是 os.environ['TZ']
;请注意,这通常是从Django的 TIME_ZONE
.
返回A datetime
上次访问文件的时间。对于无法返回上次访问时间的存储系统,这将导致 NotImplementedError
.
如果 USE_TZ
是 True
,返回一个已知 datetime
,否则返回一个幼稚的 datetime
在本地时区。
返回基于 file_root
和 file_ext
参数,一个下划线加上一个随机的7个字符的字母数字字符串被附加到扩展名之前的文件名中。
返回基于 name
可供在目标存储系统上写入新内容的免费参数。
文件名的长度不会超过 max_length
,如果提供的话。如果找不到可用的唯一文件名,则 SuspiciousFileOperation
将引发异常。
如果有文件 name
已经存在, get_alternative_name()
调用以获取备用名称。
返回A datetime
文件的创建时间。对于无法返回创建时间的存储系统,这将导致 NotImplementedError
.
如果 USE_TZ
是 True
,返回一个已知 datetime
,否则返回一个幼稚的 datetime
在本地时区。
返回A datetime
文件的上次修改时间。对于无法返回上次修改时间的存储系统,这将引发 NotImplementedError
.
如果 USE_TZ
是 True
,返回一个已知 datetime
,否则返回一个幼稚的 datetime
在本地时区。
验证 filename
通过调用 get_valid_name()
并返回要传递给 save()
方法。
这个 filename
参数可以包含由返回的路径 FileField.upload_to
. 在这种情况下,路径不会被传递给 get_valid_name()
但将预先返回到结果名称。
默认实现使用 os.path
操作。如果不适合您的存储,则重写此方法。
打开由提供的文件 name
. 注意,尽管返回的文件保证是 File
对象,它可能实际上是某个子类。在远程文件存储的情况下,这意味着读/写可能非常慢,因此需要警告。
使用存储系统保存新文件,最好使用指定的名称。如果已经存在同名文件 name
,存储系统可以根据需要修改文件名以获得唯一的名称。将返回存储文件的实际名称。
这个 max_length
参数传递给 get_available_name()
.
这个 content
参数必须是的实例 django.core.files.File
或者一个类似文件的对象 File
.
12月 18, 2023