2013-03-14 2 views
1

안녕하세요, 내 장고 템플릿 파일에서 매달 열 번째를 확인해야합니다. 아무도 내가 이것을 확인할 수있는 방법을 말해 줄 수 있습니까? 악의적으로 나는 매월 10 일 전에 데이터를 보여줄 필요가 있습니다. 10django 템플릿에서 특정 날짜 가져 오기

+0

지금까지 무엇을 했습니까? 코드? – catherine

답변

5

후 몇 가지 이해하는 것을 숨기기 :

  1. 장고의 템플릿 언어가 정말 "진짜"프로그램을 중심으로 설계되어 있지 않습니다. 핵심은 그냥 문자열을 만드는 것입니다.
  2. 실제 "표현식"을 지원하지 않습니다.
  3. ...하지만 기본 조건문과 루프는 지원합니다.
  4. 값이 다른 값보다 크거나 작거나 같은지 확인할 수는 있지만 그 이상은 할 수 없습니다.
  5. 필터 또는 사용자 정의 템플릿 태그를 사용하지 않는 한.
  6. 필터는 값을 한 것으로부터 다른 것으로 변환 할 수 있습니다.
  7. 템플릿 태그는이 질문의 범위를 벗어나는보다 복잡한 작업을 수행 할 수 있습니다.
  8. 필터 또는 사용자 정의 템플릿 태그가 원하는 위치에 도달 할 수 있지만 지나치게 많습니다. 보기에

    1. 는 현재 날짜의 일을 계산 :에

    그래서, 내 의견으로는,이 작업을 수행하는 가장 쉬운 방법은 될 것입니다.

  9. 해당 값을 템플릿에 전달하십시오.
  10. 는 수행 간단한 "만약보다 큰"우리의 견해는 같은 보일 것, (10)

그래서 숫자에 값 전달에서 확인하십시오 :

def sample_view(request, *args, **kwargs): 
    from datetime import date 
    current_date = date.today() 
    current_day = int(current_date.day) # force a cast to an int, just to be explicit 
    return render_to_response("template", {'day_of_the_month': current_day }) 

그리고 우리 것 우리의 템플릿을 do :

{% if day_of_the_month > 10 %} 
    <!-- Stuff to show after the 10th --> 
{% else %} 
    <!-- Stuff to show before the 10th --> 
{% endif %} 

이것은 보안상의 이유로 날짜에 따라 숨길 수있는 템플릿에 템플릿을 노출합니다. if/then 체크를 기반으로하는 템플리트에서 안전한 것을 숨겨서는 안됩니다.

추가 점검이 필요한 경우 해당 날짜에 특별히 전달하는 대신 current_date.day을 번호 10과 비교하여 확인하면됩니다. 그것은 덜 명확하지만,보다 일반적이고 유연합니다.

+0

안녕하세요, 템플릿에서 day_of_the_month 변수를 사용하지만, 내게 3 월 14, 2013 같은 가치를 제공하지만 난 단지 14 일일 값을 얻을 필요가 어떻게 내가 이것을 필터링 할 수 있습니다 – user2106353

+0

당신은 current_date 아니라 current_date에 전달했는지 확인하십시오. –

+0

죄송합니다. 당신이 맞습니다. 잘못된 변수를 전달했지만 괜찮습니다. 지금은 많이 감사합니다. – user2106353

관련 문제