ファイルストレージ APILink to this heading

デフォルトのストレージクラスの取得Link to this heading

Djangoでは、デフォルトストレージクラスにアクセスするための便利な方法を提供しています。

storagesLink to this definition

STORAGES によって定義されたストレージのインスタンス。

class DefaultStorageLink to this definition

DefaultStorage は、STORAGES で定義された default キーによって定義されたデフォルトのストレージシステムへの遅延アクセスを提供します。 DefaultStorage は、内部的に storages を使用します。

default_storageLink to this definition

default_storageDefaultStorage のインスタンスです。

get_storage_class(import_path=None)Link to this definition

ストレージAPIを実装するクラスまたはモジュールを返します。

import_path パラメータが提供されない場合、get_storage_classSTORAGESdefault キーで定義されたデフォルトのストレージシステムを返します。 import_path が提供された場合、get_storage_class は指定されたパスからクラスまたはモジュールをインポートしようと試み、成功した場合はそれを返します。インポートが失敗した場合は例外が発生します。

FileSystemStorage クラスLink to this heading

class FileSystemStorage(location=None, base_url=None, file_permissions_mode=None, directory_permissions_mode=None)Link to this definition

FileSystemStorage クラスは、ローカルファイルシステム上での基本的なファイルストレージを実装しています。これは Storage から継承し、そこで定義されたすべてのパブリックメソッドに対する実装を提供します。

locationLink to this definition

ファイルを格納するディレクトリの絶対パス。デフォルトは MEDIA_ROOT 設定の値です。

base_urlLink to this definition

この場所に保存されているファイルが提供される URL。デフォルトは MEDIA_URL 設定の値です。

file_permissions_modeLink to this definition

保存される際にファイルが受け取るファイルシステムの権限。デフォルトは FILE_UPLOAD_PERMISSIONS です。

directory_permissions_modeLink to this definition

保存された際にそのディレクトリが受け取るファイルシステムの権限。デフォルトは FILE_UPLOAD_DIRECTORY_PERMISSIONS です。

get_created_time(name)Link to this definition

システムの ctime、つまり os.path.getctime()datetime を返します。一部のシステム(例えば Unix)では、これは最後のメタデータ変更の時間ですが、他のシステム(例えば Windows)では、ファイルの作成時間です。

InMemoryStorage クラスLink to this heading

class InMemoryStorage(location=None, base_url=None, file_permissions_mode=None, directory_permissions_mode=None)Link to this definition

InMemoryStorage クラスはメモリベースのファイルストレージを実装しています。永続性はありませんが、ディスクアクセスを避けることでテストの高速化に役立ちます。

locationLink to this definition

ファイルに割り当てられたディレクトリ名の絶対パス。デフォルトは、MEDIA_ROOT 設定値を使います。

base_urlLink to this definition

この場所に保存されているファイルが提供される URL。デフォルトは MEDIA_URL 設定の値です。

file_permissions_modeLink to this definition

ファイルに割り当てられたファイルシステムの権限は、 FileSystemStorage との互換性を提供するために用意されています。デフォルトは FILE_UPLOAD_PERMISSIONS です。

directory_permissions_modeLink to this definition

ディレクトリに割り当てられたファイルシステムの権限であり、 FileSystemStorage との互換性のために提供されます。デフォルトは FILE_UPLOAD_DIRECTORY_PERMISSIONS です。

Storage クラスLink to this heading

class StorageLink to this definition

Storage クラスは、ファイルを保存するための標準化された API と、他のすべてのストレージシステムが継承または必要に応じてオーバーライドできる一連のデフォルト動作を提供します。

delete(name)Link to this definition

name で参照されるファイルを削除します。対象のストレージシステムで削除がサポートされていない場合は、代わりに NotImplementedError を発生させます。

exists(name)Link to this definition

指定された名前で参照されるファイルがストレージシステムにすでに存在する場合は True を返し、新しいファイルに使用できる場合は False を返します。

get_accessed_time(name)Link to this definition

ファイルの最終アクセス時刻を datetime で返します。最終アクセス時刻を返すことができないストレージシステムの場合は NotImplementedError を発生させます。

USE_TZTrue の場合、意識的(aware)な datetime を返します。それ以外の場合、ローカルタイムゾーンのナイーブ(naive)な datetime を返します。

get_alternative_name(file_root, file_ext)Link to this definition

file_root および file_ext パラメータに基づいて代替ファイル名を返します。拡張子の前にアンダースコアとランダムな7文字の英数字文字列がファイル名に追加されます。

get_available_name(name, max_length=None)Link to this definition

name パラメータに基づいて、ターゲットのストレージシステム上で新しいコンテンツを書き込むために利用可能かつ空いているファイル名を返します。

max_length を指定した場合、ファイル名の長さはその値を超えません。自由な一意のファイル名が見つからない場合、 SuspiciousFileOperation 例外が発生します。

name という名前のファイルが既に存在する場合、代替名を取得するために get_alternative_name() が呼び出されます。

get_created_time(name)Link to this definition

ファイルの作成時間を datetime で返します。作成時間を返すことができないストレージシステムの場合、 NotImplementedError を発生させます。

USE_TZTrue の場合、意識的(aware)な datetime を返します。それ以外の場合、ローカルタイムゾーンのナイーブ(naive)な datetime を返します。

get_modified_time(name)Link to this definition

ファイルの最終更新時間の datetime を返します。最終更新時間を返すことができないストレージシステムの場合、 NotImplementedError を発生させます。

USE_TZTrue の場合、意識的(aware)な datetime を返します。それ以外の場合、ローカルタイムゾーンのナイーブ(naive)な datetime を返します。

get_valid_name(name)Link to this definition

name パラメータに基づいて、ターゲットのストレージシステムで使用に適したファイル名を返します。

generate_filename(filename)Link to this definition

filenameget_valid_name() によって検証し、save() メソッドに渡すべきファイル名を返します。

filename 引数には、 FileField.upload_to によって返されたパスを含むことができます。その場合、パスは get_valid_name() に渡されることはありませんが、結果として得られた名前の前に再び追加されます。

デフォルトの実装では os.path 操作を使用しています。この方法があなたのストレージに適していない場合は、このメソッドをオーバーライドしてください。

listdir(path)Link to this definition

指定されたパスの内容をリストアップし、2つのリストからなるタプルを返します。最初のアイテムはディレクトリで、2番目のアイテムはファイルです。このようなリストを提供できないストレージシステムでは、代わりに NotImplementedError を発生させます。

open(name, mode='rb')Link to this definition

name で指定されたファイルを開きます。返されるファイルは必ず File オブジェクトである保証がありますが、実際にはサブクラスである可能性があります。リモートファイルストレージの場合、読み書きがかなり遅いかもしれないので注意してください。

path(name)Link to this definition

ファイルがPythonの標準 open() を使って開けるローカルファイルシステムのパス。ローカルファイルシステムからアクセスできないストレージシステムの場合、代わりに NotImplementedError を発生させます。

save(name, content, max_length=None)Link to this definition

ストレージシステムを使用して新しいファイルを保存します。すでに name という名前のファイルが存在する場合、ストレージシステムは一意な名前を得るために必要に応じてファイル名を変更することがあります。保存されたファイルの実際の名前が返されます。

max_length 引数は get_available_name() に渡されます。

content 引数は、django.core.files.File のインスタンス、または File でラップできるファイルライクオブジェクトでなければなりません。

size(name)Link to this definition

name で参照されるファイルの総サイズ(バイト単位)を返します。ファイルサイズを返せないストレージシステムの場合は、代わりに NotImplementedError を発生させます。

url(name)Link to this definition

name で参照されているファイルの内容にアクセスできるURLを返します。URLによるアクセスをサポートしていないストレージシステムの場合は、代わりに NotImplementedError を発生させます。