Avec django pour formatter la taille d'un fichier dans un template (ie. '13 KB', '4.1 MB', etc), il existe une fonction "built-in" nommée filesizeformat:
{{ value|filesizeformat }}
ou value est la taille en Byte du fichier.
Remarque 1: avec python pour obtenir la taille d'un fichier on peut fair comme ceci
import os
os.path.getsize(''my_file.txt')
Remarque 2: on peut aussi obtenir directement la taille d'un fichier téléchargé avec django:
model
class File(models.Model):
docfile = models.FileField()
template
<form action="/file_upload/" method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="docfile" id="id_docfile" />
<input type="submit" value="Download">
</form>
view
form = File_Form(request.POST, request.FILES)
if form.is_valid():
size = request.FILES['docfile'].size
Références
Liens | Site |
---|---|
filesizeformat | stackoverflow |
How to use Django's filesizeformat | stackoverflow |
FileField Size and Name in Template | stackoverflow |
How to get file size in template? | stackoverflow |
How to check the file size limit in django | stackoverflow |