Шаблон 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 }}