过滤器定义与使用

创建项目

django-admin startapp the_6

过滤器定义与使用

新建过滤器文件——创建过滤器项目

from django import template

register = template.Library()


# 过滤器
@register.filter()
# low : 把视图函数的返回对象改成小写
def low(value):
    return value.lower()
from django.http import HttpResponse
from django.shortcuts import render


# Create your views here.
def filter_custom(request):
    return render(request,'the_6/filter_custom.html',{'XX': 'HELLO WORD'})
{#申明#}
{% load loa %}

HELLO filter_custom的文件 <br>

{#渲染#}
{{ XX }}

{#加过滤器#}
{{ XX|low }}

 加了过滤器之后——把视图函数的返回对象变成小写

 带参过滤器
from django.http import HttpResponse
from django.shortcuts import render


# Create your views here.
def the_6_hello(request):
    return HttpResponse('hello')


def filter_custom(request):
    return render(request,
                  'the_6/filter_custom.html',
                  {'XX': 'HELLO WORD',
                   'yy': '我是真实值',
                   })
# 带参过滤器
@register.filter
def default(value, parm):
    return value or parm
{#带参过滤器——传值就用,不传就用默认值#}
{{ yy | default:'我是默认值' }}

自定义标签

simple_tag
# 自定义标签
@register.simple_tag()
def teg(a1,a2,a3):
    return '{}_{}_{}'.format(a1,a2,a3)

def filter_custom(request):
    return render(request,
                  'the_6/filter_custom.html',
                  {'XX': 'HELLO WORD',
                   'yy': '我是真实值',
                   'p1': 'I',
                   'p2': 'Love',
                   'p3': 'you'
                   })
{#自定义标签#}
{% teg p1 p2 p3 %}

inclusion_tag  ——可以把 a 页面渲染到 b 页面
# inclusion_tag
@register.inclusion_tag('the_6/inclusion.html')
def incl_tag():
    return {'lan': 'python'}
<h2>
我能拿到 lan 里面的 {{ lan }}
</h2>

页面 b

{#申明#}
{% load loa %}

HELLO filter_custom的文件 <br>

{#渲染#}
{{ XX | low }} <br>

{#带参过滤器——传值就用,不传就用默认值#}
{{ yy | default:'我是默认值' }}  <br>

{#自定义标签#}
{% teg p1 p2 p3 %}

{# 渲染页面 a #}
{% incl_tag %}

 

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值