美文网首页
6. 自定义过滤器

6. 自定义过滤器

作者: 何大炮 | 来源:发表于2018-05-14 19:08 被阅读0次

问题

之前想要在模板里,从字典里取出值然后展示。但是发现没有相关的语法,只有将key 和value同时遍历的方法。于是自定义过滤器进入了视野。

<div class="card-columns" style="margin: 1%">
            {% for label in labels %}
            <div class="card bg-light">
                <p><strong>{{ label }}</strong></p>
                <div class="card-body text-center">
                    {% for record in collections|dic_value:label %}
                    <a href = '{{ record.title_link }}'><p class="card-text">{{ record.item_title }}</p></a>
                    {% endfor %}
                </div>
            </div>
            {% endfor %}
        </div>

语法:{{ 变量|function:参数 }}

变量有一个,参数最多一个,function就是我们自己定义的python函数。
Django里面自带了一些内置的过滤器:
{{value | add : "2"}} ——> 返回值为 value+2
{{value |upper}} ——> 返回值为value的大写形式

流程

  1. 在app中建立一个包templatetags(不可变的名字)
  2. 建立一个‘名字.py’,名字可以随便取。这里假定filter


  3. 编写这个.py
from django import template
#创建一个库对象
register = template.Library()
# 利用装饰器赋予这个函数过滤器的功能
@register.filter
# 自定义这个函数,其功能就是我们想要的过滤器功能。
def dic_value(dic, key):
    return dic[key]
  1. 在对应的html里最上面加上{% load filter %},这样这个过滤器就可以使用了。

相关文章

  • Django 四

    目录 1.变量 2.过滤器 3.标签 4.分支 5.迭代器 6.自定义过滤器与标签 7.全系统过滤器(了解)

  • vue filter 过滤器使用

    格式化时间 自定义全局过滤器 vue 自定义过滤器分为"全局过滤器"和"局部过滤器"两种。 一、 全局过滤器 全局...

  • 2017-5-25 AngularJs

    service 自定义服务 1.指令 内置指令 自定义指令 2.过滤器 内置过滤器 自定义过滤器 3.服务 内置服...

  • 自定义过滤器的封装

    封装自定义过滤器 引入过滤器 添加+注册过滤器 使用过滤器

  • angular 过滤器的几种用法

    自定义过滤器: 自定义服务后,连接到应用上,在过滤器中使用:

  • 九:vue.js基础(2)

    1.表单输入绑定 2.Vue实例_生命周期 3.过渡. 4.动画 5.过滤器 6.内置指令 7.自定义指令

  • 6. 自定义过滤器

    问题 之前想要在模板里,从字典里取出值然后展示。但是发现没有相关的语法,只有将key 和value同时遍历的方法。...

  • 3 自定义(重要)

    循环 过滤器 自定义过滤器: filter 自定义指令 directive * 注意: 必须以 v-开头 自定...

  • vue自定义过滤器

    自定义过滤器

  • vue2 vs vue3基础使用

    1.创建 2.组件注册 3.生命周期 4.绑定样式 5.事件处理 6.自定义组件v-model 7.过滤器

网友评论

      本文标题:6. 自定义过滤器

      本文链接:https://www.haomeiwen.com/subject/rfoilftx.html