【发布时间】:2016-10-06 20:38:06
【问题描述】:
我通过管理站点在 django 中创建了一个自定义身份验证权限,并将该权限添加到用户(不是组),现在我想询问模板中的请求用户是否有它但没有任何作用。它不是重复,我已经检查了类似的问题,但没有一个工作:
{% 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)
它的想法是让它在模板中,而不是在视图中使用更多代码。 有什么想法吗?提前谢谢。
【问题讨论】:
-
展示你的观点。特别是这个烫发是从哪里来的?
-
我通过管理站点创建了一个权限,它属于 auth,但我不知道为什么它不起作用,我的视图根本没有提到 perms 它只是分配给特定用户也通过管理网站。
-
@e4c5 好吧,我刚刚添加了它
-
@jsanchezs 确保您的设置中有这个上下文处理器:
django.contrib.auth.context_processors.auth