设定自定义过滤器之前要现在配置文件内把自己项目名在 INSTALLED_APPS 内导入

#已安装的django应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#将自己的应用,填充到配置文件中去
'mysite'
]

在settings.py文件同级目录中建立templatetags目录用于存放自定义过滤器的py文件

自定义过滤器的相应操作

#导包
#导入模板模块
from django import template #注册过滤器对象
register = template.Library() #自定义过滤器
#在django内部,通过装饰器的方式来注册自定义过滤器
@register.filter
def my_str(val):
return "$" + val #定义一个双参数的过滤器
@register.filter
def my_str_two(val,p1):
return val + p1 #定义一个多参数的过滤器
#注册过滤器的时候,需要注册simple_tag
@register.simple_tag
def my_str_many(val,p1,p2):
return val + p1 +p2 #定义一个取余数的过滤器
@register.filter
def get_line(val):
return int(val) % 2

定义好的自定义过滤器文件在html文件导入过滤器文件后即可直接调用

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>自定义过滤器的使用</title>
<style> table{
border: 1px solid red;
padding: 30px;
}
tr{
border: 1px solid blueviolet;
}
.tr2{
background-color: brown;
}
.tr1{
background-color: goldenrod;
} </style>
</head>
<body> {# 导入过滤器文件 #}
{% load my_filter %} {{ test_str | my_str }} <br> {{ test_list }} <br> {{ test_list | length }} <br> {# 两个参数,进行调用 #}
{{ '你好' | my_str_two:'不好' }}<br> {# 调用多参数的过滤器 #}
{% my_str_many "你好" "不好" "啊" %}<br> {# 使用逻辑判断 #} {% if test_int == 100 %}
等于一百
{% else %}
不等于一百
{% endif %}<br> {% if test_int > 100 %}
大于
{% elif test_int < 100 %}
小于
{% else %}
等于
{% endif %} </body>
</html>

最新文章

  1. 【项目管理】GitHub使用操作指南
  2. &lt;Node入门经典&gt;读书笔记
  3. JDK下载、安装、配置环境变量笔记
  4. Count the string - HDU 3336(next+dp)
  5. Android开发实现透明通知栏
  6. JQuery DataTables Editor---页面内容修改&amp;&amp;数据库信息修改 (2)
  7. Webstorm入门-----常用快捷键
  8. Who do you want to be bad? (谁会是坏人?)人工智能机器小爱的问话
  9. SSO 基于CAS实现单点登录 实例解析(二)
  10. 一个QQ旋风的BUG
  11. 如何定义一个有效的OWIN Startup Class
  12. thinkphp5.0.7 &amp;===composer更新===&amp; thinkphp5.0.9 debug &ldquo;controller not found&rdquo;
  13. java结合testng,利用mysql数据库做数据源的数据驱动实例
  14. linux下编译自己的库文件实践
  15. 102. Binary Tree Level Order Traversal (Tree, Queue; BFS)
  16. Linux基础命令---ln
  17. 建立自己的javaBean --成功
  18. 滑动cell的时候执行动画效果
  19. C#全局钩子和局部钩子记录
  20. 003-and design-dva.js 知识导图-02-Reducer,Effect,Subscription,Router,dva配置,工具

热门文章

  1. 高并发之API接口限流
  2. hashCode和equals的关系分析
  3. 字符串正则替换replace第二个参数是函数
  4. dbexpress连接mysql提示Operation not allowed on a unidirectional dataset
  5. vue2 mint-ui loadmore(下拉刷新)
  6. Python——组图Canvas控制参数
  7. Js--String、Date、Array对象
  8. Essential Phone刷机教程
  9. JSON 解析 (一)—— FastJSON的使用
  10. js中session操作