{{ info.number * info.price }}
{% if info.status == 'ERROR' || info.status == 'FAIL' %}
<span class="label label-danger">{% trans 'FAIL' %}</span>
{% endif %}
跪求 怎么在 diango 的 template 进行 加减乘除 还有执行 || 呢?
{{ info.number * info.price }}
{% if info.status == 'ERROR' || info.status == 'FAIL' %}
<span class="label label-danger">{% trans 'FAIL' %}</span>
{% endif %}
跪求 怎么在 diango 的 template 进行 加减乘除 还有执行 || 呢?
|
cxbigDec 22, 2015
1
理论上讲, tpl 只处理简单逻辑,计算的工作提取数据的时候就做好。
|
|
restranDec 22, 2015
2
用 jinja2
|
|
jmc891205Dec 22, 2015
3
|| 可以用 or: {% if foo1 or foo2}
|
|
FrankFang128Dec 22, 2015
4
别
|
|
kidblgDec 22, 2015
5
用 tags 。比如{{ info.number|add:info.price }} 啥的。
https://docs.djangoproject.com/en/1.9/howto/custom-template-tags/ 不过跟 1 楼一样,还是建议在 views 里处理逻辑,不要让 template 变得臃肿,毕竟它是主要负责渲染,不是处理逻辑。 |
|
tiant167Dec 22, 2015
6
django 的设计觉得计算之类的复杂逻辑应该放到 view 里算。模版只是渲染用。如果想在模版里计算就用 jinjia 吧
|
|
7
@FrankFang128 是啥么意思
@jmc891205 哦耶, get it @restran 这是是 模板引擎的节奏么 臣妾做不了主啊 :cry: @cxbig `只处理简单逻辑`, 我感觉 进行一些计算是 简单的逻辑啊 :cry: 我的使用姿势不对么, 囧 |
|
felixzhuDec 22, 2015
8
强烈建议替换成 Jinja2
django 的设计原则之一就是 template 只做展示 |
|
9
|
|
neoblackcapDec 22, 2015
10
@shooter 模板简直应该只复杂渲染,减少副作用
|
|
tiant167Dec 22, 2015
11
@shooter 每个人对模版的理解和想法不太一样~选择一个自己喜欢的就好~ Django 的模版是**想**设计给写界面( HTML )的人使用,而不是写业务代码的后端程序员~ 现在 Django 加了对 jinjia 的支持也是因为大家对这块都有争议和自己的想法啦
|
|
crayonyiDec 22, 2015
12
用自定义的 tag ,或者改用 jinjia 模板
|
|
idblifeDec 22, 2015
13
不建议在模板里进行计算
|
|
latyasDec 23, 2015
14
django 的模板略坑, QJ 程序员要符合它的 MVT 设计理念,然而会有程序员愿意被 QJ 么?建议换 jinja2
|
|
15
|
|
16
人生苦短, 学习 python.
我感觉 django 给这个说法 -1, py 粉不要削我, 我只是工具使用者. #赶紧逃# |
|
dododadaDec 23, 2015
17
可以在 view 中写个 filter , template 中的使用方法和 tags 类似
|
|
iwillhappy1314Dec 23, 2015
18
有个包: django-mathfilters
|