2024-05-19 14:44:14 发布
网友
我必须减去django模板中的两个值。我该怎么做?
{{ obj.loan_amount }} - {{ obj.service_charge }}
有两种方法可以做到这一点。
1)更可取的方法(基于业务逻辑和模板逻辑的分离)是计算views.py中要执行的操作,然后通过上下文传递值。例如:
class FooView(View): def get(self, request, *args, **kwargs): obj = Foo.objects.get(pk=1) obj_difference = obj.loan_amount - obj.service_charge return render(request, 'index.html', {'obj': obj, 'obj_difference': obj_difference})
这将允许您在模板中直接使用{{ obj_difference }}。
{{ obj_difference }}
2)第二种方法是使用模板标记,这是不太可取的。
@register.simple_tag(takes_context=True) def subtractify(context, obj): newval = obj.loan_amount - obj.service_charge return newval
这将允许您在模板中使用{% subtractify obj %}。
{% subtractify obj %}
注意:如果使用方法2,不要忘记在HTML文件的顶部使用{% load [tagname] %}。
{% load [tagname] %}
有两种方法可以做到这一点。
1)更可取的方法(基于业务逻辑和模板逻辑的分离)是计算views.py中要执行的操作,然后通过上下文传递值。例如:
这将允许您在模板中直接使用
{{ obj_difference }}
。2)第二种方法是使用模板标记,这是不太可取的。
这将允许您在模板中使用
{% subtractify obj %}
。注意:如果使用方法2,不要忘记在HTML文件的顶部使用
{% load [tagname] %}
。相关问题 更多 >
编程相关推荐