【问题标题】:How to get uploaded file size in django如何在 django 中获取上传的文件大小
【发布时间】:2024-04-21 15:45:01
【问题描述】:

我正在通过我的表单上传一个 zip 文件。如何获取文件大小,即 KB / MB,以便我可以在模板中显示它。

【问题讨论】:

标签: django upload filesize


【解决方案1】:

Django 有一个内置的|filesizeformat template filter [Django-doc],因此您可以将其用于:

{{ file.size<strong>|filesizeformat</strong> }}

如文档所述,这将:

将值格式化为“人类可读”文件大小(即'13 KB''4.1 MB''102 bytes' 等)。

【讨论】:

    【解决方案2】:

    您可以通过使用这个自定义模板标签来解决这个问题:https://djangosnippets.org/snippets/1866/

    然后在你的模板中像这样使用它:

    {% load sizify  %}
    
    {{ yourFile.size|sizify }}
    

    然后文件大小将以人类可读的格式(kb、Mb、Gb)显示

    【讨论】:

    • 谢谢,我添加了模板标签,但我收到此错误:'sizify' 不是已注册的标签库。必须是……之一。
    • 将 sizify.py 放入 app_name/templatetags 并确保每次修改模板标签时都重新启动 Django 开发服务器(或确保它自行重新启动)。如果服务器没有重启,Django 不会注册标签。
    最近更新 更多