Login

Simple file size from bytes to kb/mb/gb

Author:
bryanhelmig
Posted:
January 14, 2010
Language:
Python
Version:
1.1
Score:
0 (after 2 ratings)

This template tag is dead simple, if you have a file that is 45.3 kb, don't display it as 46,387 bits, display it as 45.3 kb!

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from django import template

register = template.Library()

def sizify(value):
    """
    Simple kb/mb/gb size snippet for templates:
    
    {{ product.file.size|sizify }}
    """
    #value = ing(value)
    if value < 512000:
        value = value / 1024.0
        ext = 'kb'
    elif value < 4194304000:
        value = value / 1048576.0
        ext = 'mb'
    else:
        value = value / 1073741824.0
        ext = 'gb'
    return '%s %s' % (str(round(value, 2)), ext)

register.filter('sizify', sizify)

More like this

  1. LazyPrimaryKeyRelatedField by LLyaudet 6 days, 4 hours ago
  2. CacheInDictManager by LLyaudet 6 days, 11 hours ago
  3. MYSQL Full Text Expression by Bidaya0 1 week ago
  4. Custom model manager chaining (Python 3 re-write) by Spotted1270 1 week, 6 days ago
  5. Django Standard API Response Middleware for DRF for modern frontend easy usage by Denactive 4 weeks, 1 day ago

Comments

bryanhelmig (on January 19, 2010):

Ah, well, I had no clue there already existed a tag for this. And so many more! Well, that settles that. Thanks btubbs.

#

Please login first before commenting.