Как отобразить текущий год в шаблоне Django?

Что такое встроенный тег шаблона для динамического отображения текущего года. Как "2011", каков будет тег шаблона для отображения этого?

Ответ 1

Полный тег для печати только текущего года {% now "Y" %}. Обратите внимание, что Y должен быть в кавычках.

Ответ 2

{% now 'Y' %} - правильный синтаксис

Ответ 4

Используйте django-copyright, если вы хотите охватить диапазон, например "© 2010 - 2015", или просто установите приложение в текущем году, например, "© 2015".

Ответ 5

В моем шаблоне, кроме текущего года, мне понадобилось выпустить год истечения срока действия кредитной карты с 20 значениями (начиная с текущего года). Значения select должны быть 2 цифры, а строки дисплея - 4 цифры. Чтобы избежать сложного кода шаблона, я написал этот простой тег шаблона:

@register.filter
def add_current_year(int_value, digits=4):
    if digits == 2:
        return '%02d' % (int_value + datetime.datetime.now().year - 2000)
    return '%d' % (int_value + datetime.datetime.now().year)

И использовал его следующим образом:

<select name="card_exp_year">
    {% for i in 'iiiiiiiiiiiiiiiiiiii' %}
    <option value="{{ forloop.counter0|add_current_year:2 }}">{{ forloop.counter0|add_current_year:4 }}</option>
    {% endfor %}
</select>