我通过管理站点在django中创建了一个自定义身份验证权限,并且我将该权限添加到用户(而不是群组),现在我想询问模板中的请求用户是否拥有它但没有任何效果。它&#39 ;不是重复,我已经检查了类似的问题,但没有一个工作:
{% if perms.auth.add_something %}
{% if 'auth.add_something' in request.user.get_all_permissions %}
{% if request.user.has_perm('add_something') %}
我添加了我的观点:
class NotificationSelectView(View):
template = 'myapp/notification_read.html'
def get(self, request, *args, **kwargs):
t = tree(request)
req_var_list = []
analist = notifications_list(request.user)
level = LevelProcess.objects.get(
level_hierarchical = 3
)
subprocess= Process.objects.filter(level = level)
user = request.user
t.update({
'subprocess': subprocess,
'analist':analist,
})
return render(request, self.template, t)
将它放在模板中的想法,而不是在视图中使用更多代码。 任何想法?,提前谢谢。
答案 0 :(得分:1)
django在模板中它使用变量perms获取登录用户的权限,这样你就可以使用内部模板
{% if perms.auth.add_something %}
{{do_smth}}
{% endif %}
来自django文档的有一个Authentication data in templates部分,它还描述了模板中的权限