ログインしたユーザーがスーパーユーザーであるかどうかをテンプレート/ビューで確認するにはどうすればよいですか?Django:ユーザーがスーパーユーザーでない場合、テンプレートのボタンを隠す
ユーザーは、あなたがそれをやって行くだろうどのようにスーパーユーザー
でない場合、私は完全に隠されたい(テンプレートで)私のフォーム上の特定のボタンがありますが?
ログインしたユーザーがスーパーユーザーであるかどうかをテンプレート/ビューで確認するにはどうすればよいですか?Django:ユーザーがスーパーユーザーでない場合、テンプレートのボタンを隠す
ユーザーは、あなたがそれをやって行くだろうどのようにスーパーユーザー
でない場合、私は完全に隠されたい(テンプレートで)私のフォーム上の特定のボタンがありますが?
User
オブジェクトにis_superuser
をチェックアウト:@のムスタファ-0xのは、あなたがた設定あなたTEMPLATE_CONTEXT_PROCESSORS
にdjango.core.context_processors.request
が含まれていることを前提として上記
コメントした後:
{% if request.user.is_superuser %}
...
<button>...</button>
...
{% else %}
...
{% endif %}
EDITデフォルトのではありません。ほとんどの場合、あなたはすでにあなたにそれを追加することなく、{{ user }}
へのアクセス権を持っているだろうことを意味
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
コンテキストプロセッサが含まれていません):
default setting for TEMPLATE_CONTEXT_PROCESSORS
コンテクストを{{ request.user }}
経由で表示することができます。User
オブジェクトを使用することもできますテンプレートで自動的に利用可能:
user.is_staff
も適切です。
ユーザーが認証されているかどうかを確認するだけではありませんか?私は彼らがスーパーユーザーかどうかを知る必要がある – JohnnyCash
is_superuserがトリックをするかどうか疑問に思う。 – JohnnyCash
申し訳ありませんが、間違ったものを置く - 私は今それを変更しました –