[英]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项目中的权限进行一些条件渲染。 一个小例子就是一个特殊的图标。 基本上,如果用户具有删除权限,他们会看到一个图标,如果没有,则会看到另一个图标。 这是我的模板中的完成方式:
{% 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.