首页 > 其他分享 >django自定义过滤器

django自定义过滤器

时间:2023-08-09 14:34:17浏览次数:37  
标签:cut 自定义 py value django key 过滤器

https://docs.djangoproject.com/zh-hans/3.1/howto/custom-template-tags/

代码布局

自定义的 tags 和 filters 会保存在模块名为 templatetags 的目录内。模块文件的名字即稍候你用来加载 tags 的名字,所以小心不要采用一个可能与其它应用自定义的 tags 和 filters 冲突的名字

webpage/
    __init__.py
    models.py
    templatetags/
        myfilter.py
    views.py

 

自定义过滤器 

vim myfilter.py

from django import template

register = template.Library()

@register.filter
def key(d,key_name):
    value=None
    try:
        value = d.get(key_name)
    except Exception as e:
        print(e)
    return value

# @register.filter(name='cut')
# def cut(value, arg):
    # return value.replace(arg, '')

#register.filter('cut', cut)

 

加载过滤器 

在使用的模板中加载

{% load myfilter %}

  

使用

在加载的模板中使用

  <tbody>
    {%for dict_data in tableInfo.list%}
     <tr>
        
        {% for item in tableInfo.titles %}
            <td>{{dict_data|key:item.field}}</td>
        {%endfor%}
     </tr>
    {%endfor%}
    
  </tbody>

在过滤器 {{ dict_data|key:"bar" }} 中,变量 dict)data 和参数 bar 会传递给过滤器 key。 

 

 

标签:cut,自定义,py,value,django,key,过滤器
From: https://www.cnblogs.com/boye169/p/17616795.html

相关文章

  • Django 离线脚本(数据库添加admin用户)
     importosimportsysimportdjangobase_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.path.append(base_dir)os.environ.setdefault('DJANGO_SETTINGS_MODULE','day06order.settings')django.setup()fromwebimportmodels......
  • Django Session 配置
    SESSION_ENGINE="django.contrib.sessions.backends.db"SESSION_CACHE_ALIAS="default"SESSION_COOKIE_NAME="sid"SESSION_COOKIE_PATH="/"SESSION_COOKIE_DOMAIN=NoneSESSION_COOKIE_AGE=60*60*24*7*2SESSION_C......
  • Django博客开发教程:实现网站首页
    实现首页模板前,我们先把共公的页面模板base.html调用好。首先我们先看导航部分,除开首页和关于博主之外,其它的其实是我们的文章分类名。如图:我们只需要在首页视图函数里,查询出所有的文章分类名称,然后在模板页面上展示就行。blog/views.pyfrom .models import Category#从m......
  • java笔记_12_自定义注解
    1、@interface用于声明注解,参数只用八种基本数据类型和四种数据类型(基本类型byte,short,char,int,long,float,double,boolean八种基本数据类型和String,Enum,Class,annotations),如果只有一个参数成员,最好把参数名称设为"value"2、@Target说明了Annotation所修饰的对象范围,......
  • 利用pytorch自定义CNN网络(一):torchvision工具箱
    本文是利用pytorch自定义CNN网络系列的第一篇,主要介绍torchvision工具箱及其使用,关于本系列的全文见这里。笔者的运行设备与软件:CPU(AMDRyzen™54600U)+pytorch(1.13,CPU版)+jupyter;本文所用到的资源:链接:https://pan.baidu.com/s/1WgW3IK40Xf_Zci7D_BVLRg提取码:1212......
  • 切面实现下单请求防重提交功能(自定义注释@repeatSubmit)
    该切面功能适用场景下单请求多次提交,导致生成多个相同的订单解决方案前端解决:限制点击下单按钮为1次后失效。不足:用户体验下降,能绕过前端后端解决:防重提交切面解决,自定义注释实现该功能(如下)步骤:自定义注释类RepeatSubmit创建切面并有该注释绑定,在切面类实现防重提......
  • golang自定义 os.stderr 数据读取逻辑
    原始需求只是一个很简单的需求,使用golang的exec运行一个命令然后获取实时结果,命令是trivyimage--download-db-only正常的打印应该是2023-08-08T17:06:02.929+0800INFONeedtoupdateDB2023-08-08T17:06:02.929+0800INFODBRepository:ghcr.io/aquas......
  • Python基础day62 DjangoAjax的传输应用
    前后端数据传输的编码格式(contentType)前后端数据传输的请求方式有两种:get、post我们只研究post请求的编码格式三种编码格式urlencodedform-datajson发送post请求的方式form表单Ajaxpostman(第三方工具,需要下载) form表单发送post请求的时候数据的编码格式请求头conten......
  • - 前后端数据传输的编码格式(contentType) - Ajax朝后端提交文件数据 - Ajax朝后端提
    前后端数据传输的编码格式(contentType)前后端数据传输的请求方式有两种:get、post我们只研究post请求的编码格式三种编码格式urlencodedform-datajson发送post请求的方式form表单Ajaxpostman(第三方工具,需要下载) form表单发送post请求的时候数据的编码格式请求头conten......
  • WPF自定义TreeView滚动条样式
     根据客户需求,要在TreeView目录树上显示10万+个节点,但是目录树显示10万加节点后,整个页面操作起来非常卡,所以给目录树增加了虚拟化设置。但是虚拟化设置一直没生效,后来经过排查发现是使用的自定义滚动条导致了虚拟化设置没有生效,后来自己写了一个滚动条样式,问题解决了。目录树虚......