Django 模版语法 三
使用自定义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 : 最多两个参数
Django 模版语法 三的更多相关文章
- django 模版 语法与使用
目录 django 模版语法与使用 django模板语言介绍 (摘自官方文档) 链接 什么是模板? 模板语句的 注释 变量 {{ 变量 }} 点(.)在模板语言中有特殊的含义,用来获取对象的相应属性值 ...
- Django 模版语法与使用
目录 Django 模版语法与使用 django模板语言介绍 (摘自官方文档) 链接 什么是模板? 模板语句的 注释 变量 {{ 变量 }} 点(.)在模板语言中有特殊的含义,用来获取对象的相应属性值 ...
- Django 模版语法 测试环境 ORM单表查询
模版语法 传值 视图函数向前端html页面传值,基本上所有的数据类型都可以渲染在前端页面上. views.py from django.shortcuts import render, redirec ...
- Django 模版语法
一.简介 模版是纯文本文件.它可以产生任何基于文本的的格式(HTML,XML,CSV等等). 模版包括在使用时会被值替换掉的 变量,和控制模版逻辑的 标签. {% extends "base ...
- django 模版语法及使用
模版的定义 模版是一个文本,用语分离文档的表现形式和内容,通常用于生成html 模版当中能够使用的python语法非常少,for ,if 之类,还有ifequal,结束的时候也要写endifequal ...
- Django 模版语法 一
创建项目 django_template 和 app django-admin startproject django_template python manage.py startapp app01 ...
- Django 模版语法 二
变量的过滤器(filter)的使用 过滤器:upper, lower, first, capfirst 在 views.py 中修改 from django.shortcuts import rend ...
- Django 模版语言详解
一.简介 模版是纯文本文件.它可以产生任何基于文本的的格式(HTML,XML,CSV等等). 模版包括在使用时会被值替换掉的 变量,和控制模版逻辑的 标签. 例: {% extends "b ...
- Django 模板 语法 变量 过滤器 模板继承 组件 自定义标签和过滤器 静态文件相关
本节目录 一 语法 二 变量 三 过滤器 四 标签Tags 五 模板继承 六 组件 七 自定义标签和过滤器 八 静态文件相关 一 语法 模板渲染的官方文档 关于模板渲染你只需要记两种特殊符号(语法 ...
随机推荐
- HTML表格的基本结构标记
<table>标记 1.基本格式:<table 属性1="属性值1" 属性2="属性值2" ... ...>表格内容</table ...
- python入门之实例-验证码
需求: 随机生成6位的验证码,要求有字母和数字 import random temp = "" for i in range(6): j = random.randrange(0, ...
- 539 Minimum Time Difference 最小时间差
给定一个 24 小时制(小时:分钟)的时间列表,找出列表中任意两个时间的最小时间差并已分钟数表示.示例 1:输入: ["23:59","00:00"]输出: 1 ...
- SSH的端口转发
这里是一篇很好的介绍SSH PortForwarding的文章http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/ 可以将远端服务器一 ...
- Y2分班考试 笔试题总结
1. 此题编译错误 base无法点出methodB()方法 2. 第二题选C 3.此题选D:正确的输出级别为fatal>error>warn>info>debug 4. 此题 ...
- kafka基础四
消费者消费过程(二) 消费组状态机:消息的产生存储消费看似是杂乱无章的,但万物都会遵循一定的规则成长,任何事物的发展都是有迹可循的. 开始消费组初始状态为Stable,经过第一次Rebalance之后 ...
- arcgis jsapi接口入门系列(1):地图
地图相关 //地图相关demo mapFun: function () { //获取地图中心点 let center = this.mapView.center; //地图中心点坐标(同地图坐标系) ...
- Android仿ios底部弹出框效果
准备: public class ActionSheet { public interface OnActionSheetSelected { void onClick(int whichButton ...
- 读懂《HTML5网页开发实例详解》这本书
你还在用Flash嘛?帮主早不用了 乔布斯生前在公开信<Flash之我见>中预言:像HTML 5这样在移动时代中创立的新标准,将会在移动设备上获得胜利. ——国际巨头Google.苹果等都 ...
- docker 配置国内镜像源 linux/mac/windows
部分内容来自:http://guide.daocloud.io/dcs/daocloud-9153151.html 加速器官方DaoCloud承诺:加速器服务永久免费且无流量限制 使用前提:注册Dao ...