Я не могу найти такую функцию в Встроенные теги шаблонов и фильтры в документации Django .Ближайшим является floatformat
[Django-doc] , но тогда мы можем только округлить до целого числа (не по тысячам и т. Д.).
Написание пользовательскогоФильтр шаблона, однако, не такой сложный:
# app/templatetags/rounding.py
from django import template
from decimal import Decimal
register = template.Library()
@register.filter
def round_down(value, size=1):
size = Decimal(size)
return (Decimal(value)//size) * size
или если вы планируете использовать только целые числа:
@register.filter
def round_down(value, size=1):
size = int(size)
return (value//size) * size
Тогда мы можем отформатировать его с помощью:
{% load rounding %}
{{ 123456<b>|round_down:"1000"</b> }}
Затем генерируется:
>>> t = """{% load rounding %}{{ 123456|round_down:"1000" }}"""
>>> Template(t).render(Context())
'123000'