Django循环进入模板,ORM

Posted

技术标签:

【中文标题】Django循环进入模板,ORM【英文标题】:Django cycle into template ,ORM 【发布时间】:2016-09-28 22:58:31 【问题描述】:

我有一个 django 视图和一个渲染 html 来返回一个 ORM 查询

products.objects.all()
return render(request,'index.html',"product":products)

我可以使用 for 循环从 html 页面正确渲染, 产品查询返回代码和产品数量现在我的问题是我如何根据产品的数量制作一个循环以两次或多次打印相同的产品

我也有类似的

%for a in range(product.quantity)%

但不能正确渲染模板

一些想法我应该如何将这个循环添加到这个模板中

【问题讨论】:

请贴出您正在使用的实际代码(您贴出的代码示例根本不起作用)和相关模型。由于目前很难理解您在问什么。 【参考方案1】:

您试图将 Django 的模板语言视为 eval,并且您的变量 product.quantity 将被替换为整数,从而导致您的语句 for a in range(x) 被执行。

这是不正确的。

Django 的模板语言不是 Python。它是用 Python 编写的,它的语法类似于 Python,但不是 Python。您不能在其中使用 Python。

Django 的模板语言没有原生的range template tag。

请参阅this question 了解如何处理此问题的示例。

【讨论】:

以上是关于Django循环进入模板,ORM的主要内容,如果未能解决你的问题,请参考以下文章

Django ORM - 检索数据时出错 -

Django之ORM使用以及模板语言

Python菜鸟之路:Django 路由模板ORM

Django ORM select_related 渲染模板

第十八篇:Django进级

人生苦短,我用python-- Day19 django框架之URL路由系统视图应用模板应用django之orm应用