File
オブジェクト¶revision-up-to: | 11321 (1.1) |
---|
File
(file_object)¶Django の File
型は、以下の属性とメソッドを備えています:
File.
name
¶MEDIA_ROOT
からの相対パスを含む、ファイルの名前です。
File.
path
¶ローカルのファイルシステムにおけるファイルの絶対パスです。
カスタムのファイルストレージシステム
の場合、必ずしもローカルにファイルを保存しません。ローカルにファイルを
保存しないシステムでは、 path
は None
です。
File.
url
¶ファイルを取得できる URL です。 templates で
使う場合に便利です。例えば、ファイル topics-files の Car
の例で、車の写真を表示するテンプレートは以下のように書けます:
<img src='{{ car.photo.url }}' alt='{{ car.name }}' />
File.
size
¶バイト単位のファイルサイズです。
File.
open
(mode=None)¶ファイルをオープンまたは再オープン (かつ File.seek(0)
) します。
mode
引数には、 Python の標準の関数 open()
と同じ引数を指定でき
ます。
ファイルを再オープンした場合、 mode
は最初にオープンしたときのファ
イルモードをオーバライドします。 None
を指定すると、最初のモードと
同じモードを使います。
File.
read
(num_bytes=None)¶ファイルからコンテンツを読み出します。オプションの num_bytes
は読み出すデータの長さです。指定しなければ、末尾まで読み出します。
File.
__iter__
()¶ファイルを一度に一行づつ繰り返して読み出します。
File.
chunks
(chunk_size=None)¶ファイルを chunk_size
に指定したサイズのチャンク (“chunk”) づつ繰り
返して読み出します。 chunk_size
のデフォルトサイズは 64KB です。
このメソッドは、ファイル全体をメモリに保存しなくても、ディスクからスト リーム読み出しできるので、巨大なファイルを読むときに便利です。
File.
multiple_chunks
(chunk_size=None)¶ファイルが大きくて、長さ chunk_size
のチャンクに分けて複数回アクセ
スできる場合に True
を返します。
File.
write
(content)¶content
に指定した文字列をファイルに書き込みます。背後にあるストレー
ジシステムによっては、 close()
を呼ぶまで content
がコミットさ
れない場合があります。
File.
close
()¶ファイルを閉じます。
(Car.photo
のように) オブジェクトに結び付いてる File
には、
以下の二つのメソッドがあります:
File.
save
(name, content, save=True)¶ファイル名 name
とコンテンツ content
を使って新たなファイルを生
成し、保存します。このメソッドは既存のファイルを置き換えるのではなく、
新たなファイルを作成して、オブジェクトがそのファイルを指すようにします。
save
を True
にすると、ファイルが保存されたときに save()
メ
ソッドを呼び出します。すなわち、以下の 2 行:
>>> car.photo.save('myphoto.jpg', contents, save=False)
>>> car.save()
は、以下の 1 行と同じです:
>>> car.photo.save('myphoto.jpg', contents, save=True)
content
引数は File
またはそのサブクラスのインスタンスでな
ければなりません。
File.
delete
(save=True)¶ファイルをモデルインスタンスから除去して、背後にあるファイルも削除しま
す。 save
引数は上のメソッドと同じです。
Oct 26, 2017