标签和过滤器

    • 创建自定义的标签和过滤器的步骤

        • 在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 %}

原文地址:https://www.cnblogs.com/whnbky/p/11729782.html

时间: 2024-11-10 01:00:49

标签和过滤器的相关文章

django 内建标签和过滤器参考

下面的标签和过滤器参考就是为那些没有 admin 站点的可用的人准备的.由于 Django 是高度可定制的,你的 admin 里的关于标签和过滤器的参考可以认为是最可信的. 内建标签参考 block 定义一个能被子模板覆盖的 块. 参阅 模板继承 了解更多信息 comment 注释.模板引擎会忽略掉 {% comment %} 和 {% endcomment %} 之间的所有内容. cycle 在循环时轮流使用给定的字符串列表中的值. 在一个循环中, 在循环过程中的每次循环里轮流使用给定的字符串

django中自定义标签和过滤器

想要实现自定义标签和过滤器需要进行准备工作: 准备(必需)工作: 1  在某个app下创建一个名为templatetags(必需,且包名不可变)的包.假设我们在名为polls的app下创建了一个templatetags的包,并在该包下创建了一个名为mytags的文件.那么目录结构看起来应该就像这样: polls/ __init__.py models.py templatetags/ __init__.py mytags.py views.py 2  settings文件中的INSTALLD_A

Django 自定义模版标签和过滤器

实现自定义过滤器 1. 创建register变量 在你的模块文件中,你必须首先创建一个全局register变量,它是用来注册你自定义标签和过滤器的, 你需要在你的python文件的开始处,插入几下代码: from django import templateregister = template.Library() 2. 定义过滤器函数 自定义的过滤器就是一个带1,2个参数的python函数,一个参数放变量值,一个用来放选项值. 比如{{ var|remove:"bar" }}, va

Django内建模版标签和过滤器

第四章列出了许多的常用内建模板标签和过滤器.然而,Django自带了更多的内建模板标签及过滤器.这章附录列出了截止到编写本书时,Django所包含的各个内建模板标签和过滤器,但是,新的标签是会被定期地加入的. 对于提供的标签和过滤器,最好的参考就是直接进入你的管理界面.Django的管理界面包含了一份针对当前站点的所有标签和过滤器的完整参考.想看到它的话,进入你的管理界面,单击右上角的Documentation(文档)链接. 内建文档中的“标签和过滤器”小节阐述了所有内建标签(事实上,本附录中的

Django1.3 模板标签和过滤器

内建标签 autoescape 控制HTML转义,参数是:on 或 off.效果和使用safe或escape过滤器相同. {% autoescape on %} {{ body }} {% endautoescape %} block 定义一个能被子模板覆盖的区块. comment 模板引擎会忽略掉 {% comment %} 和 {% endcomment %} 之间的所有内容 csrf_token 防止跨站请求伪造. <form action="." method="

django “如何”系列4:如何编写自定义模板标签和过滤器

django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准的模板标签或者过滤器,你可以自己编写模板标签和过滤器,然后使用{% load %}标签使用他们. 代码布局 自定义标签和过滤器必须依赖于一个django app,也就是说,自定义标签和过滤器是绑定app的.该app应该包含一个templatetags目录,这个目录一个和model.py,views.py在同一个层级,记得在该目录下建立一个__init__.py文件一遍django知道这是一个pyth

django 自定义标签和过滤器

django 自定义标签和过滤器 Django支持自定义标签和过滤器.起初还不太重视它这项功能,但最近试了试自定义标签.发现django这个功能实在是太爽了. 首先在你项目的一个app中建立一个python源文件夹,(即文件夹里面要包含一个__init__.py.)文件夹名为templatetags.  此文件夹便是存放自定义标签和过滤器的源码的地方了. 再如果是在templatetags文件夹中定义了标签,如 test_tags.py,要如何使用我们自定义的test_tags.py呢.很简单,

Django(七)—— 模板层:变量、过滤器、标签、自定义标签和过滤器

模板层:变量.过滤器.标签.自定义标签和过滤器 将页面的设计和Python的代码分离开会更干净简洁更容易维护. 我们可以使用 Django的 模板系统 (Template System)来实现这种模式 # django模板修改的视图函数 def current_time(req): from django.template import Template,Context now=datetime.datetime.now() t=Template('<html><body>现在时刻

django特殊的标签和过滤器

国际化标签和过滤器 Django还提供了一些模板标签和过滤器,用以控制模板中国际化的每个方面.它们允许对翻译,格式化和时区转换进行粒度控制. 1. i18n 此标签允许在模板中指定可翻译文本.要启用它,请将USE_I18N设置为True,然后加载{% load i18n %}. 2. l10n 此标签提供对模板的本地化控制,只需要使用{% load l10n %}.通常将USE_L10N设置为True,以便本地化默认处于活动状态. 3. tz 此标签对模板中的时区进行控制. 像l10n,只需要使