로그인 한 사용자가 수퍼 유저인지 여부를 템플릿 /보기에서 어떻게 확인할 수 있습니까? 사용자가 수퍼 유저 당신이 그 일에 대해 어떻게 갈 것이라고Django : 사용자가 수퍼 유저가 아닌 경우 템플릿의 버튼 숨기기
없는 경우
내가 완전히 숨겨진 원하는 (템플릿) 내 양식의 특정 버튼이 있습니다?
로그인 한 사용자가 수퍼 유저인지 여부를 템플릿 /보기에서 어떻게 확인할 수 있습니까? 사용자가 수퍼 유저 당신이 그 일에 대해 어떻게 갈 것이라고Django : 사용자가 수퍼 유저가 아닌 경우 템플릿의 버튼 숨기기
없는 경우
내가 완전히 숨겨진 원하는 (템플릿) 내 양식의 특정 버튼이 있습니다?
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 }}
에 액세스 할 수 있음을 의미하여 컨텍스트를 사용하여 위의 내용을 참조하거나 컨텍스트 프로세서를 통해 위와 같이 사용자에게 액세스 할 수 있습니다.
설명 된 것처럼 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
를 사용할 수 있습니다.
사용자가 인증되었는지 확인하지 않습니까? 나는 그들이 슈퍼 유저인지 알 필요가있다 – JohnnyCash
is_superuser가 트릭을 할 것인지 궁금하다. – JohnnyCash
죄송합니다. 잘못된 것을 넣으십시오 - 이제 그것을 바 꾸었습니다 –