Рішення гуманізувати чудово, якщо ваш веб-сайт англійською мовою. Для інших мов вам потрібно інше рішення: рекомендую використовувати Babel . Одне рішення - створити спеціальний тег шаблону для належного відображення чисел. Ось як: просто створіть такий файл у your_project/your_app/templatetags/sexify.py
:
# -*- coding: utf-8 -*-
from django import template
from django.utils.translation import to_locale, get_language
from babel.numbers import format_number
register = template.Library()
def sexy_number(context, number, locale = None):
if locale is None:
locale = to_locale(get_language())
return format_number(number, locale = locale)
register.simple_tag(takes_context=True)(sexy_number)
Тоді ви можете використовувати цей тег шаблону у своїх шаблонах так:
{% load sexy_number from sexify %}
{% sexy_number 1234.56 %}
- Для американського користувача (мова en_US) це відображає 1,234,56.
- Для французького користувача (мова fr_FR) це відображає 1 234,56.
- ...
Звичайно, ви можете використовувати змінні натомість:
{% sexy_number some_variable %}
Примітка:context
параметр в даний час не використовується в моєму прикладі, але я поклав його туди , щоб показати , що ви можете легко налаштувати цей шаблон тег , щоб зробити його використовувати що - небудь , що в контексті шаблону.