1. ホーム
  2. django

[解決済み] Django FileField。ファイル名だけを返す方法 (テンプレート内)

2023-03-28 21:57:02

質問

私のモデルには、タイプ FileField . この結果、オブジェクトのタイプ File というオブジェクトが得られ、以下のメソッドを持ちます。

File.name : からの相対パスを含むファイル名。 MEDIA_ROOT .

私が欲しいのは、"のようなものです。 .filename のようなもので、ファイル名のみを与え、パスも与えないものです。

{% for download in downloads %}
  <div class="download">
    <div class="title">{{download.file.filename}}</div>
  </div>
{% endfor %}

とすると、次のようになります。 myfile.jpg

どのように解決するのですか?

モデル定義で

import os

class File(models.Model):
    file = models.FileField()
    ...

    def filename(self):
        return os.path.basename(self.file.name)