Шаблоны Django: конвертировать число с плавающей точкой в ​​целое, если оно заканчивается на .0? - PullRequest
11 голосов
/ 30 декабря 2010

В шаблоне Django есть ли способ преобразовать число с плавающей точкой в ​​целое число, если и только если оно заканчивается на .0?

У меня есть поле для населения, которое является числом с плавающей точкой в ​​моей базе данных.Иногда это «действительно» число с плавающей точкой, оканчивающееся на .5, но чаще оно заканчивается на .0, потому что там целое число людей, и в этих случаях я бы предпочел просто показать целое число.

{{ place.population }} people

Какие-нибудь идеи для умного способа обойти это в Django?

Ответы [ 2 ]

28 голосов
/ 30 декабря 2010

Вы можете использовать фильтр floatformat с отрицательным аргументом!

1 голос
/ 30 декабря 2010

Вы могли бы написать тег шаблона, но я бы рекомендовал сделать этот метод для вашей модели.

class Country(models.Model):

    ...

    def get_population(self):
        if self.population == int(self.population):
            self.population = int(self.population)
        return self.population

Тогда в вашем шаблоне вместо

{{ obj.population }}

Вы бы использовали это:

{{ obj.get_population }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...