Django模板常用标签

模板传参

  • 使用关键字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 标签用来自动转义

  • 转义是只模板渲染的时候会把特殊字符转换为其他字符,如’<’ 会变成’&lt’
  • 使用 {% autoescape off %}{% endautoescape %} 关掉自动转义

verbatim 标签

  • 默认在DTL中会进行解析特殊字符的
  • {% verbatim %}{% endverbatim %} 中的东西不会解析
  • 主要应用于非DTL的模板渲染

猜你喜欢

转载自blog.csdn.net/qq_41577208/article/details/89309737