ログインしたユーザーがスーパーユーザーであるかどうかをテンプレート/ビューでどのように認識しますか?
ユーザーがスーパーユーザーでない場合に完全に非表示にしたいフォーム(テンプレート内)に特定のボタンがあります
どうやってそれをやりますか?
ログインしたユーザーがスーパーユーザーであるかどうかをテンプレート/ビューでどのように認識しますか?
ユーザーがスーパーユーザーでない場合に完全に非表示にしたいフォーム(テンプレート内)に特定のボタンがあります
どうやってそれをやりますか?
オブジェクトをチェックアウトis_superuser
します。User
{% if request.user.is_superuser %}
...
<button>...</button>
...
{% else %}
...
{% endif %}
編集: @mustafa-0x コメントの後
上記は、デフォルトではない設定にdjango.core.context_processors.request
含まれていることを前提としています。TEMPLATE_CONTEXT_PROCESSORS
のデフォルト設定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 }}
、ビューを介してコンテキストに追加する必要なく、またはrequest
コンテキスト プロセッサが上記のようにユーザーにアクセスできるようにする必要はありません。{{ request.user }}