답변

57

User 객체에 밖으로 is_superuser 확인 :

{% if request.user.is_superuser %} 
    ... 
    <button>...</button> 
    ... 
{% else %} 
... 
{% endif %} 

편집 : 무스타파-0X가 위의

논평 @ 후django.core.context_processors.request 당신이 TEMPLATE_CONTEXT_PROCESSORS설정에 포함되어 있다고 가정한다 기본값은이 아닙니다.

default setting for TEMPLATE_CONTEXT_PROCESSORS : 이미 포함

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth', 
    'django.core.context_processors.debug', 
    'django.core.context_processors.i18n', 
    'django.core.context_processors.media', 
    'django.core.context_processors.static', 
    'django.core.context_processors.tz', 
# 'django.core.context_processors.request', 
    'django.contrib.messages.context_processors.messages', 
) 

django.contrib.auth.context_processors.auth (그리고 특히 request 상황에 맞는 프로세서를 포함하지 않음) 대부분의 경우 이미에 추가 할 필요없이 {{ user }}에 액세스 할 수 있음을 의미하여 컨텍스트를 사용하여 위의 내용을 참조하거나 컨텍스트 프로세서를 통해 위와 같이 사용자에게 액세스 할 수 있습니다.

+0

사용자가 인증되었는지 확인하지 않습니까? 나는 그들이 슈퍼 유저인지 알 필요가있다 – JohnnyCash

+1

is_superuser가 트릭을 할 것인지 궁금하다. – JohnnyCash

+0

죄송합니다. 잘못된 것을 넣으십시오 - 이제 그것을 바 꾸었습니다 –

3

설명 된 것처럼 User 개체를 사용할 수 있습니다. 자동으로 템플릿에서 사용할 수 :

{% if user.is_superuser %} 
<div class="alert alert-success" role="alert"> 
You are logged in as {{user.first_name}}, here are the 
<a href="/admin/">admin pages</a> for changing content. 
</div> 
{% endif %} 

당신은 또한 더 적합 할 수있는 user.is_staff를 사용할 수 있습니다.