zoukankan      html  css  js  c++  java
  • 标签和过滤器

      • 创建自定义的标签和过滤器的步骤
          • 在app下创建Python Package并且要命名为templatetags

          

        • templatetags下创建py文件,例如my_tags.py

        • my_tags.py
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          from django import template
          from django.utils.safestring import mark_safe
           
          #register的名字是固定的,不可改变
          register = template.Library()
           
          #自定义标签
          @register.simple_tag
          def simple_tag_add(v1, v2):
              return v1 + v2
           
          #自定义过滤器
          @register.filter
          def filter_multi(v1, v2):
              return v1 * v2
           
          @register.simple_tag
          def my_input(id, arg):
              result = "<input type='button' name='%s' style='%s' />" % (name, arg,)
              return mark_safe(result)
          • 在html页面导入my_tags.py,并使用自定义标签和自定义过滤器
            1
            2
            3
            4
            {% load tags %}            
            {% simple_tag_add 100 200 %}
            {{ 10|filter_multi:2 }}
            {% my_input "my_input" " font-family: verdana, "ms song", 宋体, Arial, 微软雅黑, Helvetica, sans-serif; font-size: 12px;"> 
              • 注意:
                • 自定义标签不可以用在{% if %} {% endif %}    {% for %} {% endfor %} 语句中
                • 自定义过滤器可以
                  • {% if 10|filter_multi:30 > 100 %}
                        {{ 10|filter_multi:30 }}
                    {% endif %}
  • 相关阅读:
    python面试题
    面试总结
    552 Student Attendance Record II 学生出勤记录 II
    551 Student Attendance Record I 学生出勤纪录 I
    547 Friend Circles 朋友圈
    546 Remove Boxes 移除盒子
    543 Diameter of Binary Tree 二叉树的直径
    542 01 Matrix 01 矩阵
    3.1 特性
    2.6 datetime 模块
  • 原文地址:https://www.cnblogs.com/whnbky/p/11729782.html
Copyright © 2011-2022 走看看