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 osos.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 |
