4

我想验证模板中的用户权限。如果用户有权限,他/她将能够访问该模板。编写以下代码并授予用户权限后,当我查看页面时,它将落在{% 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 %}
4

2 回答 2

3

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

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

姜戈烫发

于 2013-06-06T18:10:08.017 回答
2

我正在根据我目前正在处理的 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,他们会看到一件事。如果没有,他们会看到别的东西。这有帮助吗?

于 2013-06-06T18:37:48.733 回答