在Django中,我可以使用{% if user.is_superuser %}
之类的模板标签来确定当前用户是否是超级用户。在javascript文件中建议的方法是什么。
谢谢。
答案 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