我正在做一个Django课程的项目,我正在学习,但目前在观点上有些困难.
在项目中,我使用ListView创建了一个视图,以显示模板中的产品列表.通过使用Query_Set,我能够获取所有对象,并使用for循环返回它们以显示模板中的所有产品及其属性.
在同一个Query_Set中,我try 返回另一个包含库存商品总数的变量,以便在模板中也显示该数据,但是,一旦我将该变量添加到返回中,模板就不再接收返回值.
这是我试图返回这两个值的代码:
class ShopListing(ListView):
template_name = "webshop/shop_listing.html"
context_object_name = 'shop_listing'
def get_queryset(self):
#Get all products
products = Product.objects.all()
total_stock = products.aggregate(sum=Sum('stock'))['sum']
return products, total_stock
在我的模板中,我添加了值‘TOTAL_STOCK’,如下所示,但我什么也得不到,甚至来自‘Products’的值也停止工作:
<p><strong>{{total_stock}}</strong> items are currently available</p>
如果我从返回中删除‘TOTAL_STOCK’,一切都会恢复正常.
如果我打印"TOTAL_STOCK",我可以在日志(log)中看到正确的值,但这不能在我的模板中使用,所以我想知道这样做的正确方法是什么.
如有任何指导,将不胜感激.