首页 技术 正文
技术 2022年11月23日
0 收藏 803 点赞 4,563 浏览 1911 个字

一.母板渲染语法

  1.变量

    {{ 变量 }}

  2.逻辑

    {% 逻辑语 %}

二.变量

  在母板中有变量时,母板引擎会去反向解析找到这个传来的变量,然后替换掉.

  .(点),在母板中是深度查询据点符,它的查询顺序: 字典 => 属性或方法 => 数字索引

三.过滤器

  1.语法

     {{ value|filter_name:参数}}

  2.常用内置过滤器

    {{ value|default:”nothing”}}  如果变量为空就是用默认值

    {{ value|length }}       返回长度,用于字符串和列表

    {{ value|filesizeformat}}     将变量格式化为文件大小格式

    {{ value|slice:”::-1″}}     切片

    {{ value|date:”Y-m-d H:i:s”}}   格式化时间

    {{ value|safe}}         设置为安全值,不会误判为xss攻击

    {{ value|truncatechars:6}}    以数量(包含三个点)截断字符串,剩余部分显示…

    {{ value|truncatewords:6}}    以单词数量截断字符串,用空格来识别单词

    {{ value|cut:” “}}        移除value中的字符

    {{ value|join:”_”}}       用字符串连接列表

四.逻辑标签

  1.for循环

    {% for i in lst %}

      {{ forloop.counter }}{{ i }}

    {% endfor %}

    forloop.counter    从1开始的索引值

    forloop.counter0     从0开始的索引值

    forloop.revcounter     倒叙到1

    forloop.revcounter0    倒叙到0

    forloop.first      判断当前循环是不是第一个,返回bool

    forloop.last      判断当前循环是不是最后一个,返回bool

    forloop.parentloop   获取本层循环的父级循环对象,能用以上方法

  2.for…empty

    {% for i in lst %}

      {{ i }}

    {% empty %}

      这个列表lst是空的,不是遍历到i的值是空的

    {% endfor %}

  3.if条件判断,基本支持python中的判断,但是不支持连续判断

    {% if 条件 %}

      结果

    {% elif 条件 %}

      结果

    {% else %}

      结果

    {% endif %}

  4.with 别名

    {% with a = 复杂变量 %}  / {% with 复杂变量 as a%}

      {{ a }}        只能在with语句中使用

    {% endwith %}

  5.csrf_token  跨站请求伪造保护

    {% csrf_token %}  防止post请求登陆时恶意攻击

五.继承

  1.母板

    {% block 变量名 %}

      母板预留位置

    {% endblock %}

  2.继承板

    {% extends “母板.html” %}

    {% block 变量名 %}

      替换内容

    {% endblock %}

  3. 组件

    {% include “文件名.html” %}

六. 自定义标签和过滤器

  1. 在settings中配置app

  2. 在app中创建templatetags的python包(固定)

  3.在templatetags中创建py文件,自定义过滤器和标签

from django import template
from django.utils.safestring import mark_safe
register = template.Library()@register.filter # 自定义过滤器,只能两个参数,可以if for
def f1(x,y):
return x*Y@register.simple_tags #自定义标签,能接收多个参数
def f2():
return 1

自定义标签和过滤器

  4. 使用自定义标签和过滤器的时候需要导入py文件

    {% load py文件 %}

  5. 自定义标签和过滤器的使用

    {{ num|filter:y }}    num是第一个参数,y是第二个参数,filter是函数名

    {% simple_tags 参数1 参数2 …%}  simple_tags是函数名,参数用空格隔开

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,983
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,500
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,344
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,127
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,761
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,838