,의 사용자 정의 템플릿 태그Django 템플릿에서 템플릿 태그 값을 재사용 할 수있는 방법이 있습니까? 예를 들어
{% custom_tag "parameter" %}
이 태그는 계산 심각한 데이터베이스 작업이 필요하다 가정 해 봅시다. 내가 컨텍스트 변수 난 그냥 할 수 있다는 것을 알고
if {% custom_tag "parameter" %}
....
else
....
:
지금 나는 그 (의사) 같은 것을 가질 필요가
{% with variable.x.y.z as v %}
{% if v %}
Blah-Blah-Blah {{ v }}
{% else %}
No value
{% endif %}
{% endwith %}
을하지만 이것을 달성 할 수있는 방법이있다 템플릿 태그 값?
편집 : 지금까지 내놓았다 한 유일한 옵션은 내 템플릿 태그에서 필터를 만드는 것입니다 :
{% if "parameter" | custom_tag %}
Blah {{ "parameter" | custom_tag }}
{% else %}
....
{% endif %}
을하지만,이 옵션은 custom_tag 두 번 실행하게, 그리고 좋은 성능 - 아니다 현명한
불행하게도, 나는 매개 변수 templatetag 사용하는, 그래서 정말에 대한 컨텍스트 변수를 만들 수 없습니다 :( – xyzman
잘 난 여전히 당신이 보면 당신의 대답은, 내가 게시 된 링크이라고 생각 그들의 예에서는 매개 변수를 사용자 지정 태그에 전달하고 결국 나머지 템플릿에서도 사용할 수있는 변수를 만듭니다. 따라서 다음과 같이 할 수 있습니다. {% custom_tag "parameter"%} {%가 응답 % 경우} 즐 즐 {% 다른 사람 %} 즐 즐 "응답" – pleasedontbelong
감사 아이디어에 대한 사용자 정의 태그에 생성 된 변수라고 가정. 내부에 컨텍스트 변수를 설정하는 사용자 정의 태그를 정의했습니다. 그냥 "do_with"django template/defaulttags.py를 보라. – xyzman