【问题标题】:How to loop trough objects in html如何遍历html中的对象
【发布时间】:2022-01-24 17:27:26
【问题描述】:

我想在我的 html 中循环浏览我的类别。我正在制作一个显示所有类别的过滤器,但我无法让我的 {% for %} 工作,我需要一些帮助,这是我的代码。询问您是否需要更多信息来解决此问题。

HTML:

<div class="filter-box">

<h1>Filter</h1><hr>
{% for category in categorys%}
  <p class="checkbox-text">Hello</p>
  <h1>AAAAAAAAAAAAAAA</h1>
{% endfor %}

</div>

观看次数:

def category_all(request):
categorys = Category.objects.all()
return render(request, "product/dashboard_test.html", {"names": categorys})
    

型号:

class Category(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=255, blank=True, null=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)

【问题讨论】:

    标签: python django


    【解决方案1】:

    试试下面的代码,它应该适合你。

    代码:

    Python 代码:

    def category_all(request):
        categories = Category.objects.all()
        context = {
            'categories': categories
        }
        return render(request, "product/dashboard_test.html", context=context)
    

    HTML 代码:

    <div class="filter-box">
    
    <h1>Filter</h1><hr>
    {% for category in categories%}
      <p class="checkbox-text">Hello</p>
      <h1>AAAAAAAAAAAAAAA</h1>
    {% endfor %}
    
    </div>
    

    说明:

    {"names": categorys}这个实现不正确。

    【讨论】:

    • 不,没有任何改变......
    • Category 表中有数据吗??
    • 不,我不...为什么?我需要吗?
    • 没有数据它不会在html中执行for循环
    【解决方案2】:

    看起来您正在传入一个模板变量“names”,然后在模板中您试图将其称为“categorys”
    更改此行:

    return render(request, "product/dashboard_test.html", {"names": categorys})
    

    到这里:

    return render(request, "product/dashboard_test.html", {"categorys": categorys})
    

    类别也是拼写类别,并不影响您的代码

    【讨论】:

    • 没什么变化,还是一样
    • 如果“categorys”为空,则循环没有可循环的内容,因此不会打印任何内容。在 Django 中,您还可以在 {% endfor %} 之前添加一个 {% empty %} 标签,在这些标签之间,您可以放置​​在没有要显示的类别时应该显示的 html
    猜你喜欢
    • 2018-01-19
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-08
    • 2013-01-01
    • 2019-06-07
    • 1970-01-01
    相关资源
    最近更新 更多