Django自定义过滤器

需求:Django框架中,后端传入前端数据量太大,展示不下,需要只展示前几个字符串
解决方案:自定义过滤器返回前几个字符串

  1. 在app目录下新建templatetags目录,在该目录中新建__init__.py以及myFilters.pymyFilters.py中定义过滤器返回前10个字符串
from django import template

register = template.Library() # register 变量固定


@register.filter
def InterceptString(post_result):
    # 字符串截取
    return post_result[:10]
  1. settings.py文件中注册app
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'accounts',
    'accounts.templatetags' # 新增这一行
]
  1. 使用
<head>
    <meta charset="UTF-8">
    <title>config json</title>
    <link rel="stylesheet" href="/static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css">
    <link rel="stylesheet" href="/static/plugins/bootstrap-3.4.1-dist/js/bootstrap.js">
    {% load myFilters %} <!--引入自定义的文件名-->
</head>
{% for event in event_info_list %}
     <tr>
     	 <td>{{ event.current_time }}</td>
         <td>{{ event.host_ip }}</td>
         <td>{{ event.service_name }}</td>
         <td title="{{ event.post_result }}">{{ event.post_result|InterceptString}}...</td> <!--使用-->
     </tr>
{% endfor %}

展示如下:
在这里插入图片描述
原先结果展示如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值