django自定义标签和自定义过滤器的作用演示和区别

本文介绍了Django中自定义标签和过滤器的概念,详细讲解了它们的创建与使用方法,帮助Python入门者理解两者在模板渲染过程中的作用和区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、概念

自定义标签:
写一个标签函数,能够对html页面传进来的参数进行处理,并且返回效果
过滤器
过滤器函数,把html页面传进来的参数进行处理加工后再返回处理后的结果

2、自定义标签

1、创建

a、在app中创建templatetags模块
b、创建任意 .py 文件,如:xx.py
from django import template

register = template.Library()

@register.simple_tag
def my_simple_time(v1,v2,v3):
    return  v1 + v2 + v3

@register.simple_tag
def my_input(id,arg):
    result = "<input type='text' id='%s' class='%s' />" %(id,arg,)
    return result

2、使用

a、在使用自定义simple_tag的html文件中导入之前创建的 xx.py 文件名
{% load xx %}
b、使用simple_tag
{% my_simple_time 1 2 3%}
{% my_input 'id_username' 'hide'%}

3、自定义过滤器

1、创建

a、在app中创建templatetags模块
b、创建任意.py文件,如:xxoo.py

from django import template
from django.utils.safestring import mark_safe

register = template.Library()

@register.filter
def ya(value,v):

    temp = '<a href="http://www.baidu.com?t=%s">%s</a>'%(value,v)
    return mark_safe(temp)

2、使用

a、在使用自定义filter的html文件中导入之前创建的xxoo.py文件名
    {% load xxoo %}
b、使用filter
    {{ 8|ya:'跳转' }}

4、总结

1、二者在作用上的区别就在定义上
2、两者在创建时候的区别
    #@register.filter
    #@register.simple_tags
3、使用上的区别
    #自定义标签
        {% my_simple_time 1 2 3%}
        {% my_input 'id_username' 'hide'%}
    #自定义过滤器,加|
        {{ 8|ya:'跳转' }}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值