Python - Django - 模板语言之自定义过滤器
自定义过滤器的文件:
在 app01 下新建一个 templatetags 的文件夹,然后创建 myfilter.py 文件
这个 templatetags 名字是固定的,myfilter 是自己起的

myfilter.py:
from django import template
register = template.Library() @register.filter(name="sleep") # name 是 html 中的过滤器名
def sleep(arg):
return "%s is sleep" %arg
views.py:
from django.shortcuts import render, redirect, HttpResponse
from app01 import models # Filter 测试
def filter_test(request):
name = "Jack"
return render(request, "filter_test.html", {"name": name})
filter_test.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Filter 测试</title>
</head>
<body>
<!-- 这里需要导入自定义的 filter -->
{% load myfilter %}
{{ name|sleep }} </body>
</html>
运行结果:

定义含参数的 filter:
myfilter.py:
from django import template
register = template.Library() @register.filter(name="sleep")
def sleep(arg):
return "%s is sleep" %arg @register.filter(name="eat")
def eat(arg, arg1):
return "%s is eating %s" %(arg, arg1)
filter_test.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Filter 测试</title>
</head>
<body> {% load myfilter %}
{{ name|sleep }}
<br>
{{ name|eat:"meat" }} </body>
</html>
运行结果:

Python - Django - 模板语言之自定义过滤器的更多相关文章
- Python - Django - 模板语言之变量
前言: 在 Django 模板语言中变量用 {{ }},逻辑用 {% %} 在 urls.py 中添加对应关系 from django.conf.urls import url from django ...
- Python - Django - 模板语言之 Filters(过滤器)
通过管道符 "|" 来使用过滤器,{{ value|过滤器:参数 }} Django 的模板语言中提供了六十个左右的内置过滤器 urls.py: from django.conf. ...
- python django 模板语言循环字典
urls.py from django.conf.urls import url from django.contrib import admin from cmdb import views url ...
- django模板中的自定义过滤器
(1)在APP下创建templatetags文件夹,与Models.py.views.py等同级,templatetags文件夹下添加__init__.py文件,可为空,再添加一个模块文件,例如cpt ...
- Python - Django - 模板语言之 Tags(标签)
标签使用 {% %} 注释语句:{# #} for 循环: views.py: from django.shortcuts import render, redirect, HttpResponse ...
- 6月15日 python学习总结 Django模板语言相关内容
Django模板语言相关内容 Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...
- Django(模板语言-自定义filter和simple_tag)
Django(模板语言-自定义filter和simple_tag) filter过滤器的主要形式:变量|函数,意思是将变量交给函数处理,而自定义filter就是自己定义函数,因为用到已有的很少. ...
- Django模板语言,过滤器整理
Django模板语言,过滤器整理 1. add {{ value|add:"2" }} 把add后的参数加给value: 处理时,过滤器首先会强制把两个值转换成Int类型. 如果强 ...
- Django模板语言, 过滤器整理
Django模板语言,过滤器整理 1. add {{ value|add:"2" }} 把add后的参数加给value: 处理时,过滤器首先会强制把两个值转换成Int类型. 如果强 ...
随机推荐
- Homebrew 更新慢问题
cd "$(brew --repo)" git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/hom ...
- tomcat 启动项目超时问题
在开发工具中打开tomcat(F3),Timesouts下设置增加start秒数,然后保存重启项目.
- go语言-二进制与位运算
一.进制介绍 1.二进制:0,1 -->不能直接用二进制来表示一个整数,用%b输出二进制 package mainimport "fmt"func main() { var ...
- C++异常处理(一)----基本语法
实验环境 win7 下的vs2017,基本原则:throw抛出的数据类型,和cathc语句的数据类型要一致 异常的引发和异常的处理可以分布在不同函数中,所以c++的异常是跨栈的 异常是由“地地道道“的 ...
- MAC OSX下终端通过NTLM验证,通过代理上网(花了一天时间才解决这个)
MAC OSX下终端通过NTLM验证,通过代理上网 公司网络限制如下: 公司通过代理来控制内网用户访问外网的权限.用户名和密码为域用户,采用的验证方式是NTLM(用的是foreFront TMG) 遇 ...
- [俺们学校的题]伪.GCD
GCD 题面: 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 思路: 首先两个数gcd(x,y)=p为质数,那么令x=k1*p,y=k2*p,由于是最 ...
- 代码还原,IDA中使用的宏
在IDA7.0中的定义文件拷贝的. 如果想使用,直接去IDA的plugins插件目录下.包含它的 **defs.h"" 如下: /* This file contains defi ...
- 【opencv C++ linux】linux下编译含opencv的C++代码
首先写一个简单的测试代码 #include <opencv2/opencv.hpp> #include <iostream> #include <string> u ...
- 纯JavaScript开发飞机大战项目
开发工具: HBuilder 编程语言:JavaScript 其他技术:Html + Css 项目截图: 视频: 源代码: 在线观看地址: (暂无) 百度网盘下载地址: 请加QQ群:915 ...
- LeetCode 第 154 场周赛
一."气球" 的最大数量(LeetCode-5189) 1.1 题目描述 1.2 解题思路 统计各个字母的出现的次数,然后根据"木桶最短板"返回就好. 1.3 ...