检查Django中模板的权限
我可以在Django的模板中使用Auth应用程序的权限检查吗? (我想在特权用户的模板末尾显示一个简单的表单)
更重要的是,我应该做还是不是“Django方式”?
如果您正在查看模板中的权限,则以下代码就足够了:
{% if perms.app_label.can_do_something %} <form here> {% endif %}
模型是指用户需要权限才能查看表单的模型。
有关更多示例,请参阅https://docs.djangoproject.com/en/stable/topics/auth/default/#permissions 。
当前login的用户权限存储在模板variables
{{ perms }}
(这需要启用以下上下文处理器: django.contrib.auth.context_processors.auth
)
对于像我这样后来偶然发现的人来说,Django 1.5的链接略有改变。 该信息现在可以在以下url的文档中find: https : //docs.djangoproject.com/en/1.5/topics/auth/default/#permissions
原来的答案没有任何改变,但这只是一个新的url:)
如果你需要更多的粒度来检查perms(例如在一个特定的对象上),看看这个扩展: http : //django-authority.readthedocs.org/en/latest/check_templates/