模板层(template)

模板:
    
    什么是模板?
    html+模板语法
    
    
模板语法:
 
   1 变量:{{}}
   
        深度查询: 通过句点符号 .
     
        过滤器 filter
     
        {{var|filter_name}}
   
   
   2 标签: {% tag %}
   
     for
     if else
     
   3 自定义过滤器和标签
   
      步骤:
          1 在settings中的INSTALLED_APPS,是否有当前应用
          
          2 在应用中创建一个templatetags
          
          3 在templatetags中创建py文件:mytag.py
          
          4 在mytag.py中:
              引入:
                from django import template
                from django.utils.safestring import mark_safe

                register = template.Library()   #register的名字是固定的,不可改变
   
           5 定义过滤器和标签
                @register.filter
                def multi(x,y):
                    return x*y


                @register.simple_tag
                def multiTag(x,y,z):
                    return x*y*z
                    
           6  在引用模板中导入:{% load myTag %}
           
           7  调用:
                   过滤器:  {{var|filter_name:参数}}  # 参数只能是一个
     
                   标签:    {% simple_tag 参数1 参数2 ... %}
                   
                   
        对比过滤器与自定义标签的使用:
                   过滤器函数的参数只能有两个,自定义标签无参数限制
                   过滤器可以与逻辑标签共同使用,比如if标签。自定义标签不可以。

 

posted @ 2017-10-24 14:46 前方、有光 阅读(...) 评论(...) 编辑 收藏