Django模板常用标签
其他
2019-04-24 16:15:20
阅读次数: 0
模板传参
- 使用关键字context传参,传参类型为dict类型,在模板中使用字典的key来直接获取到参数
- 字典、列表、对象,在模板中只能使用点’.'来获取
- 注意:使用时字典key值的选取不要写python内置函数的名字
模板常用传参
if 标签
- 使用 {% if %} {% elif %} {% else %} {% endif %} 进行条件判定,使用方法和Python中相同
- if 中可以使用: == != <= < >= > in not in is is not 等判断运算符
for in 标签
- 使用{% for book in books %}{% endfor%}来进行遍历
- 可以对字典、列表、字符串、元组等进行遍历
- 如果要反向遍历可以使用 {%for book in books reversed %}{endfor}
- 在遍历字典时需要使用item、keys、values的时候可以直接用点’.'的方式调用
- forloop.counter 可以显示这是第几次遍历,默认从1开始
- forloop.counter0 显示当前是第几次遍历,从0开始
- forloop.revcounter 反向显示是第几次遍历,最后一个为1
- forloop.revcounter0 反向显示是第几次遍历,最后一个为0
- forloop.first 是否是第一次遍历
- forloop.last 是否是最后一次遍历
for in empty 标签
- 如果for循环中没有值,就会执行empty中的内容
with 标签
- 用来在模板中定义变量
- with 可以进行起别名
- 注意:使用with只能在with标签中使用
- 注意:使用等号‘=’的时候左右一定不能留有空白
url 标签
- 使用方法 {% url “url名” %}
- url传递参数 {%url “url名” 变量名=%}
- get传参 使用直接拼接的方式
spaceless 标签
- 用来移除html中的空白字符,包括空格,tab,换行等,不常用
autoescape 标签用来自动转义
- 转义是只模板渲染的时候会把特殊字符转换为其他字符,如’<’ 会变成’<’
- 使用 {% autoescape off %}{% endautoescape %} 关掉自动转义
verbatim 标签
- 默认在DTL中会进行解析特殊字符的
- {% verbatim %}{% endverbatim %} 中的东西不会解析
- 主要应用于非DTL的模板渲染
转载自blog.csdn.net/qq_41577208/article/details/89309737