在django template中定义临时变量,并自定义操作:赋值、自增
来源:互联网 发布:如何设置网络唤醒 编辑:程序博客网 时间:2024/04/29 02:50
定义临时变量:
{% with i=1 %}{{i}}{% endwith %}
定义对临时变量操作的tag
在templatetags中创建set_val.py
内容是
from django import templateimport loggingregister = template.Library()class SetVarNode(template.Node): def __init__(self, var_name, var_value): self.var_name = var_name self.var_value = var_value def render(self, context): try: value = template.Variable(self.var_value).resolve(context) except template.VariableDoesNotExist: value = "" context[self.var_name] = value return u""class VarAddOneNode(template.Node): def __init__(self, var_name): self.var_name = var_name def render(self, context): try: value = template.Variable(self.var_name).resolve(context) context[self.var_name] = str( int(value) + 1 ) except template.VariableDoesNotExist: value = "" return u""def set_var(parser, token): """ {% set <var_name> = <var_value> %} """ parts = token.split_contents() logging.info('len(parts)=' + str(len(parts))) if len(parts) == 2: content = parts[1] if content[len(content)-2 :len(content)] == '++': var_name = content[:len(content) - 2] return VarAddOneNode(var_name) else: return u"" elif len(parts) == 4: return SetVarNode(parts[1], parts[3]) # raise template.TemplateSyntaxError("'set' tag must be of the form: {% set <var_name> = <var_value> %}")register.tag('set', set_var)然后在template中引入
{% load set_val %}
前端代码示例
{% load set_val %} <div class="layui-form-item"> <div class="layui-form-label">商品尺码</div> <div class="layui-input-block"> {% with i=1 %}{% set i = 2 %} {% for size in size_list %} <div class="layui-col-md2"> <div class="layui-row"> 原名:{{ size.sizeName }} </div> 名字: <input style="width: 40px;display:inline;" type="text" name="color" , lay-verify="required" autocomplete="off" placeholder="" class="layui-input" value={{ size.sizeName }}> <br> <input type="checkbox" name="size{{ i }}" lay-skin="primary" checked="checked"> {% set i++ %} </div> {% endfor %} {% endwith %} </div> </div>
阅读全文
0 0
- 在django template中定义临时变量,并自定义操作:赋值、自增
- 在django template中设置临时变量
- 在Django中自定义filter并在template中使用
- 在django模板中定义变量(set variable in django template)
- C++ 类的定义问题,为什么只有const static 整型变量才可以在类中定义并复赋值?
- mysql 存储过程中变量的定义与赋值操作
- mysql 存储过程中变量的定义与赋值操作
- 关于Django模板不能运算的临时解决办法 在Django 模板template 中实现加法,减法,乘法,除法运算
- vbscript中不能在定义变量的同时赋值
- dfx中定义的临时变量在报表中怎么引用
- 结构体变量在定义时赋值
- Mysql 自增并赋值
- 自定义在springMvc中实现struts2的赋值操作
- 如何在Ubuntu Scope中定义设置变量并读取
- 在类里面定义常量并赋值
- MySql insert一条数据时使用自增主键,并在返回对象中给ID赋值
- Django template 中优雅的自定义权限过滤filter
- Django中template 使用
- Android NDK使用第一步,编译C文件,声明jni并调用
- cocos 扫光 特效
- Linux配置应用快捷方式
- canvas.drawText
- eclipse 远程调试服务器代码
- 在django template中定义临时变量,并自定义操作:赋值、自增
- 机器学习十大算法总览(含Python3.X和R语言代码)
- React Native 目录引用问题
- X.509数据结构,实例分析与使用
- Java异常处理和设计
- 模板:线段树求区间最大/最小值及下标
- PAT考试乙级1016(C语言实现)
- 利用Fast RCNN训练自己的数据做无人机检测(一)
- hive 分区表使用的一些注意事项