Шаблон Django - Подсчет количества месяцев между сегодняшним днем и переменной датой

У меня есть переменная, которая является датой, и я хочу вычислить разницу в месяцах между ней и сегодняшним днем. Первой попыткой было вычислить это в представлении, но я предпочитаю выполнять это вычисление в пользовательском интерфейсе, когда это необходимо. Я пробовал объявлять и вычитать значения в примере кода здесь, но столкнулся с синтаксическими ошибками, хотя в python это работает хорошо.

Вот что я пробовал в шаблонах

{% with duration=(organisation.date_founded.year - today.year) * 12 + (date_started.month - today.month) %}
  { duration }}
% endwith %}

Это версия для python

today = datetime.datetime.today()
num_months = (date_started.year - today.year) * 12 + (date_started.month - today.month)

Можно иметь методы в вашей модели, которые будут доступны, когда это необходимо в шаблоне. Я не уверен в ваших расчетах, но, например:

class Organisation(models.Model):
    date_founded = models.DateTimeField()

    def time_since_founded(self):
        return datetime.now() - self.date_founded # and so on..

В шаблоне, в зависимости от имени, которое вы дали в контексте:

{{ organisation.time_since_founded }}

Существует также встроенный фильтр шаблонов под названием timesince:

{{ organisation|timesince:date_founded }}
Вернуться на верх