【问题标题】:Breaking for/if loops in HTML within Django在 Django 中打破 HTML 中的 for/if 循环
【发布时间】:2021-01-03 23:45:10
【问题描述】:

我在 Django 中使用 HTML 模板并搜索对象列表。如果其中一个存在,我想打印一些东西。但是,一旦打印出来。我不想再打印了,即使还有更多。 (即,如果其中一个对象满足条件,我想打印出与 100 个对象满足条件时相同的内容)

这是我目前所拥有的:

                {% for object in objects %}
                {% if object.attr1 == true %}
                Placeholder
                {% endif %}
                {% endfor %}

如果我想要打印占位符的任何对象的 object.attr1 为 true。但我只想做一次。 Django 模型中的困难使得使用这种类型的 for 循环是我唯一的解决方案之一。这可能吗?

【问题讨论】:

    标签: html django for-loop


    【解决方案1】:

    你可以这样做

    from django.shortcuts import render
    
    def home(request):
       model = YourModel.objects.filter(attr1=true).all()
       return render(request, "your_template.html", {"objects": model})
    

    【讨论】:

    • 我需要在 HTML 中处理它,因为这实际上都在一个更大的 for 循环中,该循环在其他一些元素集上运行。我的模型非常复杂,我正在尝试看看是否有办法在 HTML 中处理它。
    • 也许你正在使用 Django 表单?
    • 嗨,如果您使用的是 django.forms,您可以使用这样的语句 {% if form.label == "Name Label"%}
    • 这里会有什么“名称标签”?
    • 好的,你使用模型或 django.forms 中的 for 循环?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    • 2021-03-25
    • 1970-01-01
    • 2021-03-11
    相关资源
    最近更新 更多