django-DIL模板自定义过滤器

  • 自定义过滤器
    • DTL模板语言生来只是为了方便的展示信息,所以与编程语言相比显得有点薄弱,有时候不能满足我们的需求。因此django提供了一个接口,让开发者能自定义标签和过滤器。
    • 首先,你需要添加一个templatetags的文件夹, 自定义过滤器必须处在已经安装了的app中的一个名叫”templatetags”的包(文件夹)中。因此可以有两种选择:
      • 一种是放在其他已经安装了的app中。这种方式简单,但不方便管理。
      • 单独创建一个app,用来存放所有的自己定义的过滤器。 推荐使用
    • ps: templatetags 文件夹名字不能修改,这是django固定死的

1.使用上述第二种创建公用的app utils       ------      工具,在utils app下创建templatetags固定名称

在templatetags下创建py文件,编写过滤器

2.py文件中   utils.templatetags.py

# coding=utf-8
from django import template

# 代表该文件是自定义标签名 register固定写法
register = template.Library()

# html模板中调用{{ msg|myCut:‘args‘ }}
@register.filter  # 过滤器装饰器
def myCut(value, args):
    # 根据需求编写代码
    return u‘自定义过滤器某些字符返回小写: %s‘ % (value.replace(args, ‘‘).lower())

3.***需要在settings文件中导入该app  utils

INSTALLED_APPS = [
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘utils‘, # 创建自定义过滤器需要引入该app
]

原文地址:https://www.cnblogs.com/tangpg/p/9007572.html

时间: 2024-10-20 08:08:13

django-DIL模板自定义过滤器的相关文章

django-跳转页面--模板-自定义过滤器

一:跳转页面: 1,首先拿到你点赞的页面储存在cookie里面. 2,然后在登录页面登录成功后,返回存在cookie里的页面信息. if($.cookie('mycookie')){ var mycookie=$.cookie('mycookie'); location.href=mycookie}这里先判断,首先判断是否有这个session,如果有则返回当前的页面,如果没有则返回初始页面 else{ window.location.href = "/index/"} 二:自定义过滤

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

前提:自定义模板标签和过滤器必须位于Django的某个应用中,这个应用可以包含一个templatetags目录, 和models.py views.py 处于同一级目录.若这个templatetags目录不存在则创建他,同时在该目录下建立一个py文件:__init__.py 文件,使得该目录可以作为Python包.在添加这个模块后,需要重启服务器以便使用.注意命名不要冲突.eg: polls/ __init__.py models.py templatetags/ 在模板中可以这样用:{% lo

django自定义过滤器及模板标签

创建一个模板库 不管是写自定义标签还是过滤器,第一件要做的事是创建模板库(Django能够导入的基本结构). 创建一个模板库分两步走: 第一,决定模板库应该放在哪个Django应用下. 如果你通过 manage.py startapp 创建了一个应用,你可以把它放在那里,或者你可以为模板库单独创建一个应用. 我们更推荐使用后者,因为你的filter可能在后来的工程中有用. 无论你采用何种方式,请确保把你的应用添加到 INSTALLED_APPS 中. 我们稍后会解释这一点. 第二,在适当的Dja

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

自定义标签与过滤器 在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 在app中创建templatetags模块(模块名只能是templatetags) 创建任意 .py 文件,如:my_tags.py from django import template # 该对象名必须是register register = template.Library() #自定义过滤器装饰器 @register.filter def mult

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的名

Python - Django - 模板语言之自定义过滤器

自定义过滤器的文件: 在 app01 下新建一个 templatetags 的文件夹,然后创建 myfilter.py 文件 这个 templatetags 名字是固定的,myfilter 是自己起的 myfilter.py: from django import template register = template.Library() @register.filter(name="sleep") # name 是 html 中的过滤器名 def sleep(arg): retur

Django中自定义过滤器的使用

我在这里做的是: 从数据库查出id递增的一些信息,展示在前台. 编写一个过滤器判断查出数据的id是偶数的返回True 奇数返回False 1 创建项目,创建应用,注册应用,配置settings.py文件,配置urls映射,编写views试图,编写模板templates,编写models模块 切记 注册应用.  很多伙伴找不到自己定义的过滤器,是因为忘记注册应用! 2 创建过滤器的目录: 实际上,在项目目录或者应用目录下创建都是可以的,创建一个名为templatetags的python模块 在我这

django之创建第6-1个项目-自定义过滤器

1.在站点blog目录下创建templatetags文件夹 2.templatetags目录下需要作为一个包来处理和调用其中的内容,需要有一个__init__.py文件 3.在templatetags目录下创建percent.py文件(里面定义过滤器) 4.编写percent.py文件,定义过滤器 # -*- coding: UTF-8 -*- #自定义过滤器,注意这里编码一定不要掉了,不然会报错啊~~~~ from django import template register = templ

自定义模板语言之simple_tag和自定义过滤器

扩展你的模板系统 一般是扩展模板的tag和filter两个功能.可以用来创建你自己的tag和filter功能库. 创建模板库 分为两步: 1. 首先决定由模板库在哪一个注册的app下放置,你可以放在一个已有的app目录下,也可以新建一个专门管理模板库的app,比如python manage.py startapp myTemplateLibrary.推荐后者,因为可以方便将来的重用. 2. 在app目录下创建templatetags子目录,并在里面创建两个文件,__init__.py,用来声明这