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

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

6 ответов


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


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



я использовал следующее На моем веб-сайте на основе Django http://pmtboyshostelraipur.pythonanywhere.com/ который работает отлично, как ожидалось.

{% now 'Y' %}

вы можете посетить и увидеть его в нижней части, где я отобразил текущий год, используя приведенный ниже код(часть CSS опущена, поэтому используйте свой собственный).

<footer class="container-fluid" id="footer">
    <center>
        <p>
           &copy;
           {% now 'Y' %}, 
           PMT Boys hostel <br> 
           All rights reserved
        </p>
    </center>
</footer>

и он отображает следующий центрированный текст в нижнем колонтитуле моего сайта.

©2018, PMT Boys hostel 
All rights reserved

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


в моем шаблоне, помимо текущего года, мне нужен выпадающий список год истечения срока действия кредитной карты с 20 значениями (начиная с текущего года). The 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>