Django操作员在模板内循环

时间:2017-06-29 11:11:11

标签: django for-loop

我想在django中添加两个IntegerField分区的启动次数。所以我想这样做:

{% for i in "x"|rjust:(object_list.0.score//object_list.0.num_votes) %}
    <span class="glyphicon glyphicon-star"></span>
{% endfor %}

class CheckAuth(generics.GenericAPIView):

    def post(self, request):
        print(request.user)
        if request.user.is_authenticated():
             content = {'message': 'Authenticated'}
             return Response(content, status=200)
        else:
             content = {'message': 'Unauthenticated'}
             return Response(content, status=401)

但似乎不允许在for循环中进行操作。真的吗?任何解决方法?

2 个答案:

答案 0 :(得分:1)

引用this answer

  

Django模板系统背后的理念是避免在模板中做任何严肃的逻辑。因此,他们只提供工具来对绘制网格等情况进行相当基本的计算。

如果您认为仍需要在模板方面执行此操作,则可能需要创建自己的template tag

答案 1 :(得分:0)

您可以使用django-mathfilters在模板中进行基本算术运算(除法,减法,乘法等)。

您还可以计算视图中的值并将其传递给模板。

如果您需要在许多不同的页面上使用此值,您应该定义一个过滤器来进行除法,并在模板中的需要位置使用它。