Django中的Templates的基本使用

模板

一概述

  1. 模板由两部分组成,一部分是HTML代码,一部分是逻辑控制代码(变量,标签,过滤器)
  2. 作用:可以通过一些逻辑控制代码减少一些重复的操作更快速的生成HTML代码,并且实现简单的逻辑判断
  3. 优点:实现业务逻辑与展示界面的分离,低耦合,便于后期修改和维护
  4. 模块处理:1.加载:找到视图返回的对应的模板,将其预处理,放入内存
    2.渲染:用视图返回的context中的内容渲染模板,最后将结果展示给用户

二定义模板

  1. 变量:{{ a }}
    注意:变量要遵守标识符的命名规则,如果使用的变量不存在,将会插入一个空字符串
    在模板中还可以用点语法去访问对象中的属性
    在模板中调用对象的方法与调用属性相同,不需要小括号,不允许传参
    {{stu.say}}
  2. 标签
    语法:{% tagName %}
    作用:逻辑控制

    1. if 使用基本与在python中一致,只不过在语句外围都用定界符包裹了起来,以至于不会以HTML的形式输出
      {%if 表达式1%}
      语句1
      {% elif 表达式2%}
      语句2
      ……
      {% else %}
      语句n
      {% endif %}
    2. for
      格式:
      {% for 变量 in 可迭代对象%}
      语句
      {% endfor %}

      {% for 变量 in 可迭代对象%}
      语句
      {% empty %}
      当给出的列表为空或者列表不存在时加载该部分语句
      {% endfor %}

    3. comment 注释 注释可以包含任何代码c’c’c’c’c’c’c
      {% comment %}
      注释的内容
      注释多行
      {% endcomment %}

      单行注释
      {# 我是被注释的语句 #}

    4. ifequal, ifnotequal
      格式:
      {% ifequal num 10 %}
      语句
      {% endifequal %}

      {% ifnotequal num 10 %}
              语句
        {% endifnotequal %}
      
    5. include
      作用:加载模板并以标签内的参数渲染
      格式:
      {% include “TEMPLATE” with 变量名=值 %}
    6. url
      作用: 反向解析
      格式: {% url ‘namespace:name’ p1 p2 %}
    7. csrf_token
      作用:用于跨站请求伪造保护
      一般会在用post方式提交数据的表单中添加
    8. block, extends
      {% block 模块名 %}
      需要替换的代码块
      {% endblock 模块名 %}

      一般写在网页的最上部
      {% extends “模板目录” %}

    9. autoescape
      作用:用于HTML转义
      默认是打开自动转义的 转义过后会将输入的HTML语句转换成字符串也可手动关闭
      {% autoescape off %}
      {{变量}}
      {% endautoescape %}
      三过滤器
      语法 {{ 变量名|过滤器 }}
      作用 在变量显示之前改变它的值
      lower转成小写
      upper转成大写
      join 格式: list|join:’#’ 列表的元素之间用# 连接
      {{ num|default:”如果变量不存在或者值为空则显示我” }}
      date 作用 根据给定格式对一个date变量进行格式化显示
      var|date:”Y-m-d”

      加减乘除
      {{num|add:5}}
      {{num|add:-5}}
      参数1/参数2 * 参数3
      {% widthratio num 1 5 %}
      {% widthratio num 5 1 %}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值