如何从django模板路由到视图中的特定功能?

时间:2017-12-18 10:34:22

标签: django templates views

例如,我有以下情况,其中删除按钮必须根据谁点击它而路由不同,例如,如果他是管理员显示消息,则转到删除视图。我以为我会将函数放在详细的通用视图中发送消息,但是如何直接从模板调用该函数?

{% if user_detail.status == ADMIN %}
   <button class="btn clearfix"><i class="icon-trash"></i>Cannot Delete Admin</button>
{% else %}
   <a href="{% url "members:delete" userid=user_detail.pk %}" class="btn clearfix"><i class="icon-trash"></i>Delete User</a>
{% endif %}

删除通用视图直接链接到模板,是否在重定向到模板之前在详细视图中显示消息?

1 个答案:

答案 0 :(得分:0)

有很多解决方案可以做到这一点,一个是检查视图中的人员状态,使用已经为此制作的multiple mixins之一,或者检查他是否是其他方式的管理员,然后返回错误消息或重定向到一个即

def myview(request):
    if not request.user.is_staff:
        return HttpResponseRedirect(..errormessage-url or view..)
    .. do stuff here for admin users..