gpt4 book ai didi

django - 模板中的文件字段大小和名称

转载 作者:行者123 更新时间:2023-12-04 00:05:41 25 4
gpt4 key购买 nike

如何获取模板中 FileField 的大小和名称?

我的模型设置如下:

class PDFUpload(models.Model):
user = models.ForeignKey(User, editable=False)
desc = models.CharField(max_length=255)
file = models.FileField(upload_to=upload_pdf)

我的模板设置如下:
{% for download in downloads %}
<div class="download">
<div class="title"> Name</div>
<div class="size">64.5 MB</div>
<div class="desc">{{download.desc}}</div>
</div>
{% endfor %}

如何显示文件名和大小?

最佳答案

一旦您可以访问 FileField 的值,您有一个类型为 File 的值,它有以下方法:

File.name :
文件名,包括来自 MEDIA_ROOT 的相对路径。

File.size
文件的大小(以字节为单位)。

所以你可以在你的模板中做到这一点:

{% for download in downloads %}
<div class="download">
<div class="title">{{download.file.name}}</div>
<div class="size">{{download.file.size}} bytes</div>
<div class="desc">{{download.desc}}</div>
</div>
{% endfor %}

为了获得更易读的文件大小(对于那些将 64.5 MB 视为 67633152 字节而感到困惑的用户 - 我称他们为 wusses),那么您可能对 filesizeformat 感兴趣。过滤器,用于将字节大小转换为 13 KB , 4.1 MB , 102 bytes等,您在模板中使用它们,如下所示:
<div class="size">{{download.file.size|filesizeformat}}</div>

关于django - 模板中的文件字段大小和名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2082652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com