本篇文章是对django框架模板内容的一些补充。包含注释、html转义和csrf内容。
目录
注释
单行注释
多行注释
HTML转义
Escape
Safe
Autoescape
CSRF
防止csrf方式
表单中使用
ajax请求添加
注释
单行注释
语法:{# 注释内容 #}
示例:
{# 注释内容 #}
多行注释
{% comment %}
注释内容
{% endcomment %}
示例:
{% comment %}
<h2>这是多行注释</h2>
<p>即使有变量或者方法也会被注释 {{info.get_name}}</p>
{% endcomment %}
HTML转义
code = '<h2>Django框架之模板继承</h2>'
return render(request, 'blog/detail.html', {'code': code})
将接收到的code当成普通字符串来渲染
要达到效果:将接收到的字符串当做HTML代码来渲染
Escape
过滤器,将字符串进行html转义
示例:
{{code|escape}}
Safe
过滤器,不对字符串进行html转义
示例:
{{code|safe}}
Autoescape
使用标签 控制自动转义
示例:
关闭自动转义
{% autoescape off %}
{{code}}
{% endautoescape %}
开启自动转义
{% autoescape on %}
{{code}}
{% endautoescape %}
CSRF
跨站请求伪造。某些恶意网站包含链接、表单、按钮利用登录
用户在浏览器中认证,从而攻击服务。
防止csrf方式
在settings.py中加入中间件
表单中使用
{% csrf_token %}
ajax请求添加
$.ajaxSetup({
data:{csrfmiddlewaretoken:’{{ csrf_token }}’},
})
注意:没有绝对的安全,csrf token要注意隐藏。