【问题标题】:how do I print queryset dictonary in django template如何在 Django 模板中打印查询集字典
【发布时间】:2020-03-04 15:17:38
【问题描述】:

如何打印下面的 for 循环(最后一个 for 循环),它正在打印我的模板中的所有产品?我试图找到答案,但我离找到答案还差得很远。请帮我解决这个问题。

allProds = []
catalogs = Catalog.objects.all().distinct().order_by('name')
categories = Category.objects.all().distinct().order_by('name')
for catalog in catalogs:
    allProds.append(catalog)
    for category in categories.filter(catalog_name=catalog.id):
        allProds.append(category)
        products = Product.objects.values('name','image')
                   .filter(category_name=category)
        allProds.append(products)
for p in range(len(allProds)):
    print(allProds[p])

【问题讨论】:

标签: python django templates view


【解决方案1】:

替换

allProds.append(products)

for prod in products:
    allProds.append(prod)

最后:

for prod in allProds:
    print(prod)

【讨论】:

  • 非常感谢您的回复。我确实尝试过,它会打印目录名称:电子产品类别名称:电视产品:{'name': 'Samsung', 'image': 'shop/images/SmartTV.JPG', 'price': '100'} 但我的问题是如何在我的模板 product.html 中打印它?在我的 product.html 中,当我使用 {% for a, b, c in allProds %} {{a}} {% endfor %} 时出现以下错误:需要 3 个值才能在 for 循环中解包;得到 1 个。
  • 谢谢 Horatiu,我知道了。你的回答对我帮助很大。
猜你喜欢
  • 2020-12-22
  • 2017-08-19
  • 1970-01-01
  • 2019-02-05
  • 1970-01-01
  • 2019-01-17
  • 2016-05-26
  • 2020-07-16
  • 1970-01-01
相关资源
最近更新 更多