如何在django视图中使用permission_required装饰器

时间:2014-03-14 10:50:14

标签: django authentication

如何在tempatlate语言中使用django permission_required。 如果用户拥有某些权限,我想展示一些LINK

@permission_required('tracking.view_visitor')

2 个答案:

答案 0 :(得分:1)

嗯,你可以这样做:

extra_context = {}
if request.user.has_perm('tracking.view_visitor'):
    extra_context['show_links']     = True
else:
    pass

在您的模板中,您可以查看:

{% if show_links %}
    display htmls or links
{% endif %}

确保在渲染时传递上下文。 :)

答案 1 :(得分:1)

我做过像你问的事情。根据你的情况调整我所做的,你会在视图中看到:

template = loader.get_template('foo/foo.html')
context = RequestContext(
    request,
    {
        'can_view': request.user.has_perm('tracking.view_visitor')),
    })
return HttpResponse(template.render(context))

在模板中:

{% if can_view %}
    <!-- whatever you need -->
{% endif %}