如何用“变量”递增变量;如果;在django模板中?

如何用“变量”递增变量;如果;在django模板中?,django,django-models,django-forms,Django,Django Models,Django Forms,我试图在Django模板中用“if”增加一个变量,我已经在这个站点上尝试了所有的建议,但是没有一个解决了我的问题。 这里有views.py class IndexView(generic.ListView): template_name = 'home/index.html' context_object_name = 'problemes' def get_context_data(self, **kwargs): context_data = super().get_context

我试图在Django模板中用“if”增加一个变量,我已经在这个站点上尝试了所有的建议,但是没有一个解决了我的问题。 这里有views.py

class IndexView(generic.ListView):
template_name = 'home/index.html'
context_object_name = 'problemes'

def get_context_data(self, **kwargs):
    context_data = super().get_context_data(**kwargs)
    context_data['problemes'] = Probleme.objects.all()
    context_data['commentaires'] = Commentaire.objects.all()
    return context_data


def get_queryset(self):
    result_list = self.get_context_data
    return result_list
和index.html

....
 {% for problem in problemes %}
                                        {% with number_comment= 0%}
                                        {% for comment in commentaires %}
                                        {% if comment.probleme.id == problem.id %}
                                        {% number_comment ++ %}
                                        {% endif %}
                                        {% endfor %}

                                    <tr data-status="pagado">
                                    <td>
                                        <div class="votes">
                                            <div class="mini-counts"><span title="74 votes">74</span></div>
                                            <div>votes</div>
                                        </div>


                                    </td>
                                    <td>
                                        <div class="status answered-accepted" title="one of the answers was accepted as the correct answer">
                                            <div class="mini-counts"><span title="2 answers">{{ number_comment }}</span></div>
                                            <div>answers</div>
                                        </div>
                                        {% endwith %}
                                        ....
。。。。
{%用于问题中的问题%}
{编号为0%的%u注释=0%}
{%用于评论中的评论%}
{%if comment.probleme.id==problem.id%}
{%number_comment++%}
{%endif%}
{%endfor%}
74
投票
{{number_comment}}
答案
{%endwith%}
....

如果您可以在index.html中直接引用您的
编号\u注释
,则可以使用
add
模板标记来增加注释。当然,这只会增加模板中的数字,而不会保存到数据库中

{{ number_comment|add:"1" }}

你是从哪里得到这个号码的?是您的评论模型的一个字段吗?在这种情况下,您应该使用commment.number\u comment.no访问它,它不是commentaire的一个字段,而是一个变量,当我探索一个带有条件的项目列表时,如果某个项目。。。(带模板)有什么帮助吗!但是您应该将此变量从视图传递到模板。不能在模板中实例化变量。当然,您可以使用JavaScript来实现,但这是完全不同的。例如,您可以在视图中实例化变量,就像上下文数据['number\u comment']=0一样。我修复了这个问题,在我的模型中创建了一个类计数器,它有两个函数“increment”和“set_to_zero”,当我在上下文中传递它并在模板中使用它之后,你认为它是好的解决方案还是坏的?