检查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/