模板语法

{{ }} 变量

  - 深度查询

       句号 .

  - 过滤器  

      {{ obj | filter_name:param }}

      - {{ obj | default: " xxxx" }}

      - {{ obj | date: " Y-m-d" }}

      - {{ value | length }}

        - {{ filesize | filesizeformat }} 

           - {{ value | slice: ' 0:2'}}

        - {{ value | truncatecharts: xxx }}

       - {{ value | truncatewords: xxx }}

       - {{ value | safe}}

       - {{ value | add:xxx}}

       - {{ value | upper }}

        .....

  - 自定义标签和过滤器:

    -  settings下 installed_app 注册当前app

    - app下 注册 templatetags (名字唯一)

    - 创建py文件

    - py文件写:

      from django import template 

      register = template.Library()  #register名字唯一

      写函数 

         return ....

      用装饰器装饰 @register.filter 过滤器 (@register.simple_tag 为自定义标签 标签同过滤器比参数更灵活 逻辑判断用过滤器)

      模板 {% load py文件%}

 


 

{% %} 标签:

   - for标签

      {{forloop.counter}} 循环序号

      {{forloop.counter0}} 从0开始

    

{% for foo in list %}
        {{ forloop.counter0 }}{{ foo }}
        {% empty %}
        列表为空
    {% endfor %}

 

   -if 标签

     -with标签:替换 方便使用

     {% with name=person_list.2.name %} 或{% with person_list.2.name as name %}
      

{{ name }}

     
     {% endwith %}

  - {% csrf-token %} 先get 才post

 


继承:

  {% include ' xxx.html' %}  包含

  

 

  base.html  ===>包含 {% block xxx%}

            {%endblock%}

  {% extentds ' base.html' %} 必须放首行 base中 block越多越好

  {%block xxx %}

    xxxx
  {%endblock xxx%}

  

 {%block xxx %}

  {{ block.super }}   父类也显示

    xxxx
  {%endblock xxx%}

  

  

 

你可能感兴趣的:(模板语法)