使用自定义simple_tag

在 app01 下面创建 templatetags 文件夹,在创建 my_tag.py 文件,内容如下:

from django import template
from django.utils.safestring import mark_safe register = template.Library() # register的是固定变量名,不能改变 @register.simple_tag
def my_add100(v1):
return v1 + 100

修改 login.html 文件

...
{% my_add100 4 %} {% my_add 10 11 12 %}

修改 settings.py 文件

# 添加
'libraries':{
"my_tag":"app01.templatetags.my_tag",

位置如下

运行效果如下:

使用自定义 filter

修改 my_tag.py 文件

from django import template
from django.utils.safestring import mark_safe register = template.Library() # register的是固定变量名,不能改变 # filter 参数不能超过两个
@register.filter
def my_add100(v1, v2):
return v1 + 100 + v2 # simple_tag 不能用于if 语句
@register.simple_tag
def my_add(v1,v2,v3):
return v1 + v2 + v3

修改 login.html 文件

....
{{ num | my_add100:8 }}
...

修改 views.py 文件

........
def login(req):
if req.method=="POST":
return HttpResponse("ok") num = 100 return render(req, "login.html", locals())

运行效果如下:

{% if %} 的使用

修改 login.html 文件

......
{% if num|my_add100:34 > 100 %}
<p>大于100</p>
{% elif num|my_add100:34 < 100 %}
<p>小于100</p>
{% else %}
<p>等于100</p>
{% endif %}

总结:

simple_tag : 可以传多个参数, 不能用于 if for 语句

filter : 最多两个参数

最新文章

  1. Objective-C 30分钟入门教程
  2. LeetCode: Largest Rectangle in Histogram(直方图最大面积)
  3. Spring 依赖注入方式详解
  4. Android Studio 2.2的新鲜事
  5. &lt;构建之法&gt; 第四章 结对 读后感
  6. SQL 数据库基础语句
  7. 团队软件开发_基于windows下截屏软件关于NABC框架的特点
  8. linux 消息队列的限制
  9. error C2018: unknown character &#39;0xa1&#39;
  10. 前端项目部署之Grunt
  11. Grub禁用UUID
  12. SQL Server 2014内存优化表的使用场景
  13. 常见的html面试题
  14. office------------word邮件合并(word2016版)
  15. 网站开发中使用javascript获取浏览器滚动条宽度
  16. 控制结构(7): 程序计数器(PC)
  17. Python3 元组(tuple)
  18. 静态属性property
  19. java基础知识总结--继承和接口
  20. [Node.js] 09 - Connect with Database

热门文章

  1. 清空模拟器中的app
  2. 牛客寒假6-E.海啸
  3. c#学习系列之Application.StartupPath的用法(美女时钟的做法)
  4. 关于IO模拟时序(SPI)的注意事项
  5. Codeforces Beta Round #12 (Div 2 Only) D. Ball 树状数组查询后缀、最值
  6. Spark Mllib里如何将数值特征字段用StandardScaler进行标准化(图文详解)
  7. js实现文本框验证和实现小数的加减乘除
  8. 前端开发神器 - Brackets
  9. 显示大图Activity(支持手势放大)
  10. 抽象常量class