如何在模板中检查通用模型的权限?

时间:2012-12-24 03:05:50

标签: django django-models django-templates django-views

这可能有点难以解释,所以请耐心等待。

我有一个模板页面,用作查看模型的基页:

<head>
    <title>{% block title %}{% endblock %}</title>
    <script type="text/javascript">
        <!--stuff-->
    </script>
</head>
<body>
    {% block detail %}{% endblock %}
    <p><input type="button" value="Edit" onclick="javascript:location.href='{{ model.get_edit_url }}';"/></p>
    <p><input type="button" value="Delete" onclick="confirm_delete('{{ model.get_delete_url }}');"/></p>
    <p><input type="button" value="Return" onclick="javascript:location.href='{{ model.get_show_all_url }}';"/></p>
</body>

我想在修改删除按钮周围添加权限标记标记?

所以我想添加这个:{% if perms.model.edit_model %}但是我需要做些什么才能使它成为通用的?希望这个问题很明确。

谢谢!

1 个答案:

答案 0 :(得分:1)

我建议使用django-guardian。

在模型的元类中,您可以将权限指定为元组。

permissions =((“编辑”,“可以编辑模型”)等)

然后您可以管理每个对象的编辑和删除。

然后,要实现检查用户是否具有对该对象执行操作的权限,您可以使用此处http://django-guardian.readthedocs.org/en/latest/api/guardian.templatetags.guardian_tags.html中的模板标记。

JD