2011-09-18 5 views
18

현재 URL 값을 기반으로 if 태그를 수행 할 수 있기를 원합니다.Django 템플릿, 현재 URL 값을 기반으로하는 태그 인 경우

예를 들어 현재 페이지의 URL이 accounts/login/ 인 경우보기에서 변수를 전달하지 않고 링크를 표시하지 않습니다.

나는 이것을 위해 {% if %} 태그를 어떻게 쓸 수 있을지 모르겠다. 가능합니까?

{% if request.get_full_path == "/account/login/" %} 
+0

가능한 복제본 : http://stackoverflow.com/questions/2882490/get-the-current-url-within-a-django-template – arie

답변

19

, 당신은이를 사용할 수 있습니다

{% url 'show_user_page' user=user as the_url %} 
{% if request.get_full_path == the_url %}something{% endif %} 

당신의 urls.py는 다음과 같은 것을 포함합니다 :

(r'^myapp/user/(?P<user>\d+)/$', 'show_user_page'), 

나는 방금 stackoverflow 초안을 작성했기 때문에 이것을 알고 있습니다. 질문 : the answer이 문서에서 발견되었습니다.

단순한 경우조차 더 느슨하게 결합되어 있기 때문에 이것이 더 나은 접근 방법이라고 말할 수 있습니다.

+0

여기에 아주 작은 오타가 있습니다. 편집하다. 비교에 == not =를 사용해야합니다. –

36

또한 사용하여 동적 URL에 대해이 작업을 수행 할 수 있습니다 : 당신이 당신의 템플릿에 "요청"개체를 전달하면

+0

Woooow. 거기에서 나의 날을 만들었다. include 태그를 통해 여러 페이지에 대해 동일한 스 니펫을 사용하고 페이지에 따라 다른 링크를 표시하는 방법이 필요했습니다. 값없이 접근! – Rexford

관련 문제