Django 템플릿에 현재 연도를 표시하는 방법은 무엇입니까?


163

현재 연도를 동적으로 표시하기 위해 내장 된 템플릿 태그는 무엇입니까? "2011"과 같이이를 표시하기위한 템플릿 태그는 무엇입니까?

답변:


325

현재 연도 만 인쇄하는 전체 태그는 {% now "Y" %}입니다. Y는 따옴표로 묶어야합니다.


4
레코드의 경우 {% now %}는 서버와 다른 시간대에있는 사용자에게 적절한 결과를 제공하지 않습니다.
Tomasz Zieliński

27
@Thomas 그러나 어떤 경우에는 True이지만, 올해 한 해를 원했던 가장 일반적인 유스 케이스는 저작권 고지이며, 1 월 1 일부터 24 시간 동안 완벽하게 유지하는 것이 중요하지 않습니다. 세계.
Endophage

2
우연히도 그 코드가 잘못 Y되었으므로 cabishek의 답변과 같이 인용해야합니다.
Endophage

내가 "M"과 같은 달을 받고 있다면 어떻게 "11 월"을 "11 월"로받을 수 있을까요
Josh

1
@Josh 전체 문서는 docs.djangoproject.com/en/dev/ref/templates/builtins/…입니다 만 , F대신 찾고 있습니다M
Haldean Brown



2

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

-2

현재 연도를 제외하고 내 템플릿에서 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>

너무 긴 답변!
mohammedgqudah

@mohammedqudah, 당신의 요구에 달려 있습니다!
클라우드 장인
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.