2009-12-11 7 views
0

나는 템플릿 태그를 작성하고 템플릿에 가지고있다 :Django 템플릿에서 값을 할당하는 방법은 무엇입니까?

{% check_somethings value1 value2 as is_checked %} 
{% if is_checked %} 
    # do it 
{% endif %} 

을 그러나 일부 오류가 있습니다. 나는 그렇게하고 있니?

check_somethings takes 2 arguments 

이 있습니다

@register.simple_tag 
def check_somethings(value1, value2): 
    if Mymodel.objects.filter(f1=value1, f2=value2): 
     return True 
    else: 
     return False 
+0

templatetag 구현과 오류를 추가하십시오. –

+0

오, 내 나쁜, 추가했습니다 – anhtran

+0

태그 자체에 대한 코드를 게시 할 수 있습니까? – Tom

답변

1

"무언가"패턴이 장고 태그에 내장되어 있지 않으므로 태그가 해당 기능을 명시 적으로 제공해야합니다.이 기능은 단순 태그로는 할 수 없습니다. 전체 노드와 파서 함수를 작성해야하는데,이 함수는 반드시 있어야하는 것보다 어렵습니다. 그러나 내장 태그의 예를 볼 수 있습니다.

1

템플릿 태그 구문 분석은 매우 낮은 수준이다. 템플릿 태그에 4 개의 인수 (value1, value2, asis_checked)가 전달되었습니다. 네가 원하는 걸 어떻게 할 지 모르겠다. 나는 이미 그것을하는 태그의 코드를 점검하고 비교할 것입니다. 나는 @simpletag이 그것을 커버하지 않을 것이라고 확신한다.

1

smart if tag을 살펴보십시오. 분명히 1.2에 내장 될 것입니다.

+0

Django의 개발 버전에서, 다음과 같이 추가되었습니다. – anhtran

관련 문제