• day80 django模版学习


      一.模版简介

        DTL:django模版语言

        核心:

          变量 {{}}

          标签 {% %}

      二.模版语法之变量

        变量渲染:{{变量}}

        变量深度查询:{{变量.索引/key值/方法}}

      三.模版之过滤器

        变量之过滤器(是个函数)

        语法:(后面只能传一个函数)

          {{变量名|过滤器的名字:参数}}

        内置过滤器:

          <p>{{ age|add:3 }}</p>

          <p>{{ name|length }}</p>

          <p>{{ bol|default:'123' }}</p>

          <p>{{ ll2|default:'我是空的'}}</p>

          <p>{{ file_size|filesizeformat  }}</p>

          <p>{{ ctime }}</p>

          <p>{{ ctime|date:'Y年m月' }}</p>

          <p>{{ name|slice:'2:4' }}</p>

          <p>{{ name|truncatechars:6 }}</p>

          <p>{{ name2|truncatewords:2 }}</p>

          <p>{{ href|safe }}</p>

      四.模版之标签

        语法:{%  %}

        foo是一个可迭代对象

        {% for a in foo %}

          {% endfor %}

        forloop:counter,couter0,revcounter,revcouter0,first,last,parentloop:父循环的forloop对象

        for---empty的使用

          {% for foo in ll2 %}

            {{ foo ]}

          {% empty %}

            没有值啊

          {% endfor %}

        if判断

          {% if ll2 %}

            ll2有值

          {% elif ll %}

            ll有值

          {% else %}

            ll2没有值

          {% endif %}

        with重命名

          {% with dic.hobby.1 as a %}

          {{a}}

          <p>aaaa</p>

          {% endwith %}

      五.自定义过滤器

        1.确认app是否在settings中注册

        2.在app下创建templatetags的模块(名字固定)

        3.在模块下创建py文件(名字随意)--->在模块中{% load py文件名字 %}

        4.在py文件中写过滤器

          from django.template import Library

          register = Library()

          # 指定了name之后,模版上使用的时候,直接用name调用,如果没指定name,就用函数的名字

          #过滤器最多有两个参数

          @register.filter(name='myadd')

          def my_add(a,b):

            print(a+b)

            return a+b

        5.模版中使用

          1 {% load py文件名字 %}

          2 {{ 变量|myadd:1 }}

      六.自定义标签

        1.确认app是否在settings中注册

        2.在app下创建templatetags的模块(名字固定)

        3.在模块下创建py文件(名字随意)--->在模版中(% load py文件名字 %)

        4.在py文件中写过滤器

          from django.tamplate import Library

          register = Library()

          # 指定了name之后,模版上使用的时候,直接用name调用,如果没指定name,就用函数的名字

          # 过滤器最多有两个参数

          @register.simplr_tag(name='mytag')

          def my_tag(a,b,c):

            return a+b+c

        5.模版中使用

          1 {% load py文件名字 %}

          2 {% mytag 参数1 参数2 参数3 %}

      七. 标签和过滤器的区别:

        1.标签和过滤器的区别:

        2.使用过滤器{{}}  标签使用:{%  %}

        3.过滤器可以放在if判断后,标签不能放在if判断后

  • 相关阅读:
    newCachedThreadPool无上限线程池使用
    newFixedThreadPool固定线程使用
    java定时器
    http文件上传/下载
    ThreadPoolExecutor线程池
    阻塞队列
    非阻塞队列
    IO文件夹拷贝(文件内含有文件和文件夹)
    MD5加密
    web.xml文件的作用
  • 原文地址:https://www.cnblogs.com/xiaocaiyang/p/10251119.html
Copyright © 2020-2023  润新知