Django学习记录(6)Django中的模板Template

Django-模板 Template

django中的模板,是由html充当的

模板中常见的标签

  • 输出标签 {{ key }}
  • 判断标签
    {% if 条件 %}
    {% elif 条件 %}
    {% else %}
    {% endif %}
    {% ifequal 条件 %} {% endif %} 等于某个条件时执行
    {% ifnotequal 条件 %} {% endif %} 不等于某个条件时执行
  • 循环标签
    {% for 变量名 in interator %}
    在for循环中,内置一个forloop对象,forloop常见的属性:
  • couter0:代表列表中元素的索引
  • counter:代表列表中元素的索引+1
  • revcounter0:代表列表中元素的倒叙的索引
  • revcounter:代表列表中元素的倒叙索引+1
  • first:代表列表中元素 是否是第一条记录
  • last:代表列表中的元素是否为最后一条记录
  • parentloop:视图函数如果传递了一个forloop变量,这在for循环中会产生歧义,for循环会将视图函数传递的forloop重命名为parentloop,且只在for循环中生效

static标签

  • 加载static标签
    {% load static %}
  • 使用static标签
    {% static 'js/xxx.js' %}

include标签

用于提取公共代码,形成一个可复用的组件
{% include xxx.html %}


block标签

将模板以块的方式来定义
{% block 名字 %} {% endblock %}


extends标签

用于继承关系
{% extends template.html %}


url标签

常用于路由的反向解析
{% url '路由的名称' %}
路由反向解析需要传递参数的时候
{% url '路由的名称' 参数 %}
url标签的完整语法为(只能用于应用路由):
{% url 'namespace:router_name' param %}
namespace是命名空间,一般在应用下设置app_name来解决路由重名的问题
router_name是路由的名称
param是路由的参数,针对参数路由,多个参数用空格分隔

模板中常见的过滤器

  • capfirt:首字母转大写
  • floatformat:小数格式化
  • lower:字母转为小写
  • upper:字母转为大写
  • make_list:将字符串或数字转为列表
  • turncatechars n:超过n个字符就将之后的内容换成…
  • urlencode:对一个url进行编码
  • urlize:将一个url变为可点击的a标签
  • ljust/rjust:左/右对齐
  • cut params:将字符串中指定的params替换成空字符串
  • safe:代表字符串是安全的 非必要情况 不要使用 易被黑客攻击
  • first:获取列表中的第一条记录
  • last:获取列表中的最后一条记录
  • join:将一个列表通过指定的分隔符拼接成一个新的字符串
  • length:获取长度
  • length_is n:判断长度是否为n
  • random:随机从列表中获取一条记录
  • add: n:对数字加n
  • date:‘Y-m-d H:i:s’:格式化时间
  • default:设置默认值
  • filesizeformat:对文件大小做格式化处理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值