繁体   English   中英

检查django模板中的权限不起作用

[英]Checking for permission in django template not working

我想在模板中验证用户权限。 如果用户有权限,他/她将能够访问该模板。 在编写下面的代码并且我授予了用户权限后,当我查看页面时,它将落在{% else %}语句上。 表明用户没有权限。 我怎么能这样做?

#CREATED A GROUP IN DJANGO ADMIN CALLED 'Premium'

Class Paid(models.Model):
    #models here

    class Meta:
        permissions=(
             ("view_film","Can view film"),
        )

视图

def eyo(request):
    return render_to_response('eyo.html',context_instance=RequestContext(request))

模板

{% block content %}

  {% if perms.paid.can_view_film %}

      <form action='https://www.test.com/checkout' method='post'>
      <input name='submit' type='submit' value='Checkout' />
     </form>

   {% else %}

    <p> yo broke! </p>

  {% endif %}

你在模板中传递烫发吗? 您是在视图中还是通过管理界面明确设置perms.paid.can_view_film? 用户是否具有perms.paid.can_view_film权限的组的一部分?

您确定应用名称是“付费”吗? 这应该是应用程序名称,而不是模型名称。

Django Perms

我正在基于我正在研究的Django项目中的权限进行一些条件渲染。 一个小例子就是一个特殊的图标。 基本上,如果用户具有删除权限,他们会看到一个图标,如果没有,则会看到另一个图标。 这是我的模板中的完成方式:

{% if perms.List.can_delete_list %}
    <li><a href="/social/a/search/" class="settings-edit"><span class="fui-search"></span></a></li>
{% else %}
    <li><a href="{% url 'dashboard_edit' %}" class="settings-edit"><span class="fui-new"></span></a></li>
{% endif %}

如果登录用户有can_delete_list ,他们会查看一件事。 如果没有,他们会看到别的东西。 这有帮助吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM