Django模板中变量的运算实现
在django中的模板下我们知道变量使用{{xxx}}来呈现,可是当出现两个变量进行运算怎么处理那?
#加法: {{value|add:value2}} #返回的结果是value+value2的值,假设你value为40,value2为60 ,则该表达式 #返回结果为100
#减法 {{value|add -value2}} #与加法的性质一样,只不过是把第二个参数变成负数进行运算,返回的结果是value-value2 #假如value=4,value2=8,则返回的结果是-4
#乘法 {% widthratio value1 value2 value3%} #上面的代码表示 value1/value2*value3,widthratio需要三个参数,进行乘法 只需将第二个参数等于1即可 #例: value1=10 value2=1 value3=2 返回的结果为10/1*2=20
#除法 {% widthratio value1 value2 value3%} #返回的结果是 (value1/value2)*value3 只需将value3等于1就能进行除法运算 #例: value1=100 value2=20 value3=1 返回的结果为 (100/20)*1=5
数据保留两位小数
<td>{{ foo.product_amount |floatformat:5 }}</td> register = template.Library()
一些复杂一些的运算
利用 add 这个filter ,可以做更疯狂的事:
- 计算 A^2: {% widthratio A 1 A %}
- 计算 (A+B)^2: {% widthratio A|add:B 1 A|add:B %}
- 计算 (A+B) * (C+D): {% widthratio A|add:B 1 C|add:D %}
除法并保留小数
首先定义方法在templatehelper.py文件中
@register.filter def div(value, div): ''' 分转化为元,保留两位小数 :param value: :param div: :return: ''' return round((value / div), 2)
然后在模板中可以按照如下使用,当然前提是{% load templatehelper %}:
<td>{{ foo.product_amount |div:100 }}</td>
尝试过一个笨办法,但是不生效,而且就算生效,也会出现忽略掉小数点后面得值的情况,所以不建议:
<td>{% widthratio foo.product_amount 100 1 as width %}{% blocktrans %}{{ width }}{% endblocktrans %}</td>#}
到此这篇关于Django模板中变量的运算的文章就介绍到这了,更多相关Django模板变量运算内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
python+django加载静态网页模板解析
接着前面Django入门使用示例 今天我们来看看Django是如何加载静态html的? 我们首先来看一看什么是静态HTML,什么是动态的HTML?二者有什么区别? 静态HTML指的是使用单纯的HTML或者结合CSS制作的包括图片.文字等的只供用户浏览但不包含任何脚本.不含有任何交互功能的网页! 动态的HTML指的是网页不仅提供给用户浏览,网页本身还有交互功能,存在着在脚本如JAVASCRIPT,并利用某种服务器端语言如PHP等实现如用户注册,用户登录,上传文件,下载文件等功能 接下来,了解下加载
-
django admin 自定义替换change页面模板的方法
举个简单的例子:(此仅限于修改change_form页面) 原来的时候,change_form_list是包含这些按钮的: 因为此页面继承了 {% extends 'admin/change_form.html' %} 所以,可以将admin/change_form.html 拷贝到指定目录,然后重新指定继承模板. {% extends 'admin/englishwordlibrary/recitequestion/change_form.html' %} 然后我在admin/englishw
-
django小技巧之html模板中调用对象属性或对象的方法
环境:依赖最初test2数据库 python3版本 多python版本环境 进入,python3虚拟环境,新建项目test4: ]# cd py3/django-test1/ ]# django-admin startproject test4 创建应用bookshop: ]# cd test4 ]# python manage.py startapp bookshop 修改settings.py主配置文件: ]# vim test4/settings.py ... #数据
-
python Django模板的使用方法(图文)
模版基本介绍模板是一个文本,用于分离文档的表现形式和内容. 模板定义了占位符以及各种用于规范文档该如何显示的各部分基本逻辑(模板标签). 模板通常用于产生HTML,但是Django的模板也能产生任何基于文本格式的文档.来一个项目说明1.建立MyDjangoSite项目具体不多说,参考前面.2.在MyDjangoSite(包含四个文件的)文件夹目录下新建templates文件夹存放模版.3.在刚建立的模版下建模版文件user_info.html 复制代码 代码如下: <html> <
-
基于Django模板中的数字自增(详解)
Django框架的模板提供了{% for %} 标签来进行循环 例如对集合进行循环是比较简单的 {% for row in v1 %} <div>{{row.name}}</div> {% endfor %} 但是在Django中,并不直接支持形如"int i = 0;i<100;i++" 这样的循环,Django有自己的自增方法 假设v1内有2个元素 1,从1开始正向自增 结果1,2 {% for row in v1 %} <div>{{fo
-
Django模板变量如何传递给外部js调用的方法小结
前言 因为工作的需要,最近一直在思考如何更好的组织Django中的静态资源,比如JS.CSS一类,如何结合前端构建工具写出更好的代码以及结构呢?下面这篇文章就给大家详细介绍了实现的方法,话不多说,来一起看看详细的介绍: 方法如下: 首先需要解决的一个问题就是某些时候需要把JS代码写在模板里来获取后台传递过来的变量,比如: <div> <h1>Test</h1> <div id="my-test" ></div> </di
-
浅谈Django自定义模板标签template_tags的用处
自定义模板标签,过滤器.英文翻译是Customtemplatetagsandfilters.customfilter自定义过滤器今天不在我的记录范围之内,以后用到再看官方文档也不迟. **问题1:**customtemplatetags到底长啥样? customtemplatetags-github Manytemplatetagstakeanumberofarguments–stringsortemplatevariables–andreturnaresultafterdoingsomepro
-
在Django框架中自定义模板过滤器的方法
自定义过滤器就是有一个或两个参数的Python函数: (输入)变量的值 参数的值, 可以是默认值或者完全留空 例如,在过滤器 {{ var|foo:"bar" }} 中 ,过滤器 foo 会被传入变量 var 和默认参数 bar. 过滤器函数应该总有返回值. 而且不能触发异常,它们都应该静静地失败. 如果出现错误,应该返回一个原始输入或者空字符串,这会更有意义. 这里是一些定义过滤器的例子: def cut(value, arg): "Removes all values o
-
Django模板中变量的运算实现
在django中的模板下我们知道变量使用{{xxx}}来呈现,可是当出现两个变量进行运算怎么处理那? #加法: {{value|add:value2}} #返回的结果是value+value2的值,假设你value为40,value2为60 ,则该表达式 #返回结果为100 #减法 {{value|add -value2}} #与加法的性质一样,只不过是把第二个参数变成负数进行运算,返回的结果是value-value2 #假如value=4,value2=8,则返回的结果是-4 #乘法 {% w
-
在django模板中实现超链接配置
django中的超链接,在template中可以用{% url 'app_name:url_name' param%} 其中app_name在工程urls中配置的namespace取值,url_name是在tweb/urls.py中配置的name对应 启用的param参数为可选项,当函数存在的时候带上参数对应的取值 urls.py urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^tweb/',include('tweb.urls'
-
Django 模板中常用的过滤器实现
模版常用过滤器 在模版中,有时候需要对一些数据进行处理以后才能使用.一般在Python中我们是通过函数的形式来完成的.而在模版中,则是通过过滤器来实现的.过滤器使用的是|来使用. add 将传进来的参数添加到原来的值上面.这个过滤器会尝试将值和参数转换成整形然后进行相加.如果转换成整形过程中失败了,那么会将值和参数进行拼接.如果是字符串,那么会拼接成字符串,如果是列表,那么会拼接成一个列表.示例代码如下: {{ value|add:"2" }} 如果value是等于4,那么结果将是6.
-
如何在 Django 模板中输出 "{{"
起步 随着 javascript 的壮大,前端也要使用自己的模板引擎了.若变量使用 {{ 包裹的形式,而 {{ 又会被 Django 模板引擎解析.导致 {{ 无法输出到前端,这个时候应该怎么处理?大概有三种方式解决. 方法一:使用 templatetag 标签 这个官方给出的解决方案,标签也是内置的: {% templatetag openvariable %} variable {% templatetag closevariable %} 输出到前端为: {{ variable }} 它能
-
django框架模板中定义变量(set variable in django template)的方法分析
本文实例讲述了django框架模板中定义变量的方法.分享给大家供大家参考,具体如下: 总有一些情况,你会想在django template中设置临时变量,但是django 对在模板中对临时变量的赋值没有很好的开箱即用的tag 或者filter.但是还是能通过一些其他方法实现的. 1. 利用 django 自带的 with 标签实现 2. 利用自定义 tag 实现,应该灵活很多. 利用 django 自带的 with 标签实现对变量赋值 好像在django 1.3 之后才支持这种做法 从cont
-
Django框架中方法的访问和查找
在 Django 模板中遍历复杂数据结构的关键是句点字符 (.). 最好是用几个例子来说明一下. 比如,假设你要向模板传递一个 Python 字典. 要通过字典键访问该字典的值,可使用一个句点: >>> from django.template import Template, Context >>> person = {'name': 'Sally', 'age': '43'} >>> t = Template('{{ person.name }}
-
简单了解Django模板的使用
模板标签include的使用 {%include"police/module/carousel.html"withimgs=imgsdiv_id='#carousel-index'%} 此处carousel.html为需要利用的模板文件,这里主要是用来展示轮播图,其中imgs和div_id为需要传入该模板的变量. 自定义tag的使用 添加目录和文件 在djangoapp目录中添加一个templatetagsPython包(Packages),注意是包,非目录.如下图所示: 这里我在应用
-
Python Django模板系统详解
目录 设置模板路径 模板变量 引用静态文件 总结 设置模板路径 在django项目下创建templats文件来存放html文件 为了减少模板加载调用过程及模板本身的冗余代码,Django 提供了一种使用方便且功能强大的 API ,当使用模板加载API时,需要将模板路径告诉框架,在项目settings.py中设置模板路径,如图: settings.py中的BASE_DIR为项目路径. 在TEMPLATES中的BIRS来设置模板路径 templates下编写index.html写入如下代码: !DO
-
解决Django模板无法使用perms变量问题的方法
前言 本文主要给大家介绍了关于Django模板无法使用perms变量的解决方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 解决方法: 首先,在使用Django内置权限管理系统时,settings.py文件要添加 INSTALLED_APPS添加: 'django.contrib.auth', MIDDLEWARE添加: 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.au
随机推荐
- 如何防止QQ被盗密码 比较详细找回qq号的方法
- Jquery中val()表单取值赋值的实例代码
- Angularjs自定义指令实现三级联动 选择地理位置
- JS鼠标事件大全 推荐收藏
- 详细解读PHP的Yii框架中登陆功能的实现
- Python类的动态修改的实例方法
- JBuilder2005单元测试之JUnit框架
- Android实现H5与Native交互的两种方式
- SQL查询超时的设置方法(关于timeout的处理)
- 详解docker镜像centos7配置Java运行环境
- asp #include file 与 #include virtual 的区别小结第1/2页
- 关于Java中的IO流总结(推荐)
- jquery异步请求实例代码
- DropDownList绑定选择数据报错提示异常解决方案
- SQL中函数 replace 的参数1的数据类型ntext无效的解决方法
- Win2003 IIS浏览ASP提示无法找到该页的解决办法
- 一些实用的jQuery代码片段收集
- js里怎么取select标签里的值并修改
- C# SendKeys使用方法介绍
- MFC控件大小随窗体大小而改变