Django之模板层-自定义过滤器以及标签

自定义标签与过滤器

  1. 在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag.
  2. 在app中创建templatetags模块(模块名只能是templatetags)
  3. 创建任意 .py 文件,如:my_tags.py
from django import template

# 该对象名必须是register
register = template.Library()

#自定义过滤器装饰器
@register.filter
def multi_filter(x,y):
    return x*y

#自定义标签装饰器
@register.simple_tag
def multi_tag(x,y):
    return x*y

使用自定义的过滤器与标签,在需要使用的模板文件中先导入模块,然后再调用过滤器

    {# 导入自定义的模块 #}
    {% load my_tag_filter %}
    {{ i|multi_filter:2 }}
    {% multi_tag 5 5 %}

过滤器只能接收两个参数,第一个参数是管道符前的值,第二个参数是:后面传入的参数,过滤器可以使用在逻辑判断中

标签可以传入任意参数,以空格分隔,标签不可以使用在逻辑判断中

原文地址:https://www.cnblogs.com/wualin/p/10099063.html

时间: 2024-10-04 01:39:56

Django之模板层-自定义过滤器以及标签的相关文章

Django Template模板层 (下) ----------- 过滤器、人性化过滤器、模板继承、模板加载

---恢复内容开始--- 过滤器 除了模板标签可以帮助我们对数据或者进行逻辑处理.django 中还提供了一款工具叫做过滤器,过滤器也可以实现一些模板变量的运算,判断或是其他逻辑处理. add 语法: {{ var1|add:var2 }} add 过滤器可以实现 var1 与 var2 的相加,并且在遇到其他相同数据类型的,比如列表时,加号还可以重载为拼接功能 过滤器首先会将数据转换成Int类型,进行相加,如果转换失败,则会尝试使用 Python 中的数据类型 列表.元祖等这样的数据类型来进行

Django模板之自定义过滤器/标签/组件

自定义步骤: 1.     在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 2.     在app应用中创建templatetags模块包(模块名只能是templatetags) 3.     创建任意 .py 文件,如:my_tags.py ·   导入模块:from django import template ·   实例化注册器:register = template.Library()   #register的名

Django入门--自定义过滤器与标签

为了让Django找到自定义的模板过滤器和模板标签,需要进行文件路径配置,配置方式分为APP目录下配置和项目路径下配置两种方式: 1.在APP目录下配置:针对某个应用特定的自定义 第一步:在APP目录下创建"templatetags"文件夹: 第二步:在"templatetags"文件夹下创建python模块(py文件) 2.在项目目录下配置:针对所有应用的自定义 第一步:在项目目录下创建一个新的app,例如"common"文件夹 第二步:在项目

django自定义过滤器和标签

1.自定义过滤器和标签的流程: 1.在某个app下创建一个名为templatetags(必需,且包名不可变)的包.假设我们在名为app01的app下创建了一个templatetags的包,并在该包下创建了一个名为my_tags的文件 2.settings文件中的INSTALLD_APPS内必须含有该app.接下来,我们需要确认settings文件中的INSTALLED_APPS变量中已经有了app01 INSTALLED_APPS = [ 'django.contrib.admin', 'dja

Django -- 7.模板层

模板层 我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html) 尽管这种技术便于解释视图是如何工作的,但直接将HT

第五篇:Django的模板层

模板语法符号 {{ }}变量相关 模板层之模板传值 python基本数据类型全部支持传递给html文件 int.?oat.str.list.tuple.dict.set.bool 除此之外还可以传入函数,类和对象,其中函数和对象传入过去会自动加括号调用执行. 模板语法不支持传参,所以有参函数和调用类传参这些都不支持 后端给html文件传递数据的两种方式: 1.指名道姓 return render(request, 'index.html', {'n':n, 'f':f}) 2.locals()

053.Python前端Django框架模板层

模板层 一 模板语法之变量 在 Django 模板中遍历复杂数据结构的关键是句点字符, 语法: {{ var_name }} [[email protected] mysite]# cat app01/urls.py from django.urls import path,re_path from . import views urlpatterns = [ path("test/",views.test1,name="test1"), path("te

Django之模板层

前面学习了Django的下载和基础的操作,掌握了其基本框架,接下来我们来学习Django中的模板语法. 学习任务:知道什么是模板,以及html+模板语法的具体用法 python的模板:HTML代码+模板语法 模版包括在使用时会被值替换掉的 变量,和控制模版逻辑的标签. #原始的视图 def timeHandle(request): import datetime t=datetime.datetime.now() #Django修改后的视图 # 方式1: # return HttpRespons

7 Django的模板层

你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html) 尽管这种技术便于解释视图是如何工作的,但直