django template filter safe escapejs json_script等

========safe==============

 |safe 可以当作html的tag渲染

====in view:

context['user_content1']="<b>Hello</b>"
context['user_content2']="<b>Hello</b>"
return render(request, template_name , context)

====in form.html
user_content1:{{ user_content1 }}
<br>
user_content2:{{ user_content2 | safe }}

实际页面如下

image

 

 ========escapejs==============

view:

context['user_content1']="<script>alert('xss')</script>"
context['user_content2']="<script>alert('xss')</script>"
return render(request, template_name , context)

form:
user_content1:{{ user_content1 }}
<br>
user_content2:{{ user_content2 | escapejs }}

实际页面如下

image

 

如果这样写 :
user_content1:{{ user_content1 |safe }}
那么相当于直接写:
user_content1:{{ user_content1 |safe }}

image

 

image

 

image

 

image

 

 

=============json_script的用法==========

 

{{ user_info|json_script:"user-info" }}
<script>
    const user = JSON.parse(document.getElementById('user-info').textContent);
</script>

或者

image

 

 

 

 



 

 

 




posted @ 2025-10-13 15:21  花生与酒  阅读(4)  评论(0)    收藏  举报