Djangoのテンプレート内でAuthアプリケーションの権限チェックを使用できますか? (私は特権ユーザーのためのテンプレートの最後にシンプルなフォームを表示したい)Djangoのテンプレート内のアクセス許可を確認してください
さらに重要なことに、私はそれをまったくやっていないのでしょうか、これは「Django way」ではありませんか?
Djangoのテンプレート内でAuthアプリケーションの権限チェックを使用できますか? (私は特権ユーザーのためのテンプレートの最後にシンプルなフォームを表示したい)Djangoのテンプレート内のアクセス許可を確認してください
さらに重要なことに、私はそれをまったくやっていないのでしょうか、これは「Django way」ではありませんか?
あなたはテンプレートの権限をチェックするために探している場合は、次のコードは十分であろう:
モデルは、ユーザーがためのフォームを参照する権限を必要とするモデルを指し{% if perms.app_label.can_do_something %}
<form here>
{% endif %}
。
さらに詳しい例はhttps://docs.djangoproject.com/en/stable/topics/auth/default/#permissionsを参照してください。あなたがチェックでより多くの細かさが必要な場合は
スーパーユーザとしてログインしている場合、パーミッション名のスペルを間違えたとしても、 'perms.app_label.foobar'は常にtrueになります。 – Flimm
:
現在ログインしているユーザーの権限は、(
django.contrib.auth.context_processors.auth
これを有効にするには、以下のコンテキストプロセッサが必要です){{ perms }}
変数テンプレートに格納されていますperms(例えば、特定のオブジェクトの場合)、この拡張子をチェックアウトしてください:http://django-authority.readthedocs.org/en/latest/check_templates/
私のような人のために、これを後で遭遇する人には、Django 1.5のリンクはわずかに変更されましたまあ。この情報はこのURLのドキュメントにあります:https://docs.djangoproject.com/en/1.5/topics/auth/default/#permissions元の回答の何も変わっていませんが、これは単なる新しいURLです:) – Xudonax