Django自定义过滤器

Django中提供了很多的过滤器和标签,具体可见django官网,

例如:upper(转化为大写字母)

           lower(转化为小写字母)

           autoescape(自动转义)

           block(模板继承)

           csrf_token(防止跨站伪造请求)

           extends(模板继承)

           filter(过滤器)   等……

内置的过滤器虽然好用,但是我们的需求更加多样,在内置过滤器不能满足我们的需求的时候

我们可以自己来写一个过滤器

1.新建一个项目,建立一个app, 配置templates 添加html文件,配置static,添加需要的静态文件

配置views.py urls.py  ,然后启动服务器,保证项目的正常建立与运行,这里不多赘述

2.在appxia创建templatetags文件夹  在文件夹内添加__init__.py  表明我们这是一个可引用的包

再创建一个myfilter.py 声明我们的自定义过滤器,代码如下

from django.template import Library
register=Library()

@register.filter
def add(value):
    return value+'that is nothing'

@register.filter   #注册过滤器
def change_length(value):
    if len(value)>5:
        return value[0:5]+'...'
    return value


@register.simple_tag  #注册标签
def mytag(value1,value2):
    if value1=='a':
        return '<a href="https://www.baidu.com">百度</a>'
    if value2=='b':
        return '<h1>一下</h1>'


import datetime
@register.simple_tag
def get_current_time():
    time=datetime.datetime.now()
    time=time.strftime('%Y-%m-%d %h:%M:%s')
    return '<h1>{}</h1>'.format(time)

过滤器的使用

输入界面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值