确定当前用户是否是javascript的超级用户

时间:2015-05-30 05:37:42

标签: javascript html django extjs

在Django中,我可以使用{% if user.is_superuser %}之类的模板标签来确定当前用户是否是超级用户。在javascript文件中建议的方法是什么。

谢谢。

2 个答案:

答案 0 :(得分:2)

永远不要在前端代码中执行此操作,任何人都可以修改该代码并成为超级用户,当用户登录系统并启动仅针对该特定的会话时,您需要在后端实现该代码超级用户,没有可以从前端修改

答案 1 :(得分:0)

如果您只想在后端使用javascript中的任何信息。有多种方法可以做到这一点。

定义过滤器标签

这里to_json是filter_tag,您可以定义标记或过滤器的定义位置。就我而言,它是'libs / commons / templatetags / common_filters.py'

@register.filter
def to_json(obj):
    return mark_safe(json.dumps(obj))

1- javascript变量

<script type="text/javascript">
var someData = {% contextvariable|to_json %};
</script>

2-制作元标记

<meta id="dome_data_id" content="{% context_variable|to_json %}">

比在javascript中访问如下 var some_data = JSON.parse($('#dome_data_id')。attr('content'));

3 - 利用数据属性

<html_tag id="some_data_id" data-some_data="{% context_variable|to_json %}"></html_tag>

比在javascript中访问

var some_data = JSON.parse($('#some_data_id').data('some_data'));

要检查用户是否是超级用户,您可以使用上述任何方法。但是如果提交了某个表单或者该用户发送了请求,则必须在后端验证该用户实际上是超级用户而不是其他人。

你可以通过后端条件

来做到这一点
if request.user.is_superuser
# blah blah