2014-02-12 3 views
1

ManyToMany 필드가 admins에서 django.contrib.auth.models.UserGroup (내장 Django 그룹과 혼동하지 말 것)이라는 모델이 있습니다. 내 템플릿에서 사용자가 관리자 일 때 그룹을 삭제할 수 있기를 원합니다 (관리자 필드는 현재 사용자를 포함합니다). 내가 지금이 일을하고 방법은이 같은 루프입니다 :Django 템플릿 조건부 삭제 버튼

{% for admin in group.admins.all %} 
    {% if user == admin %}<a href="/groups/delete/{{group.id}}/">[x]</a>{% endif %} 
{% endfor %} 

장고 템플릿 내부 기능에 속성을 전달하는 것을 권장하지 때문에, 나는 admins 필드에 filter 또는 get 기능을 사용할 수 없습니다. 그러나 나는이 문제를 해결하기위한보다 직접적인 접근 방식이 모든 관리자를 통해 반복되는지 궁금해했다.

+0

당신이 장고 사용자 모델에서 사용할 수있는'is_superuser' 부울을 사용 해달라고 이유는 무엇입니까? – karthikr

+0

'{% if user in groups.admins.all %}'시도한 적이 있습니까? –

답변

0

장고 템플릿 support the if x in list syntax (Django 1.2 이후, 연결된 스레드에 따라). 단일 if로에 대한 루프를 단순화 할 수 있습니다

{% if user in groups.admins %} 
    <a href="/groups/delete/{{group.id}}/">[x]</a> 
{% endif %}