python-3.x 将对象列表传递到HTML页面以进行循环并将数据显示为对象列表

30byixjq  于 2023-05-02  发布在  Python
关注(0)|答案(2)|浏览(83)

我尝试将对象列表传递给HTML,以便循环呈现从MongoDB获取的数据
尝试的方法:
1.创建了一个全局变量作为对象列表。从MongoDB获取数据并将数据设置为全局变量
并试图直接获取它,但这是不可访问的意味着没有错误,也没有数据。
1.在index(request)的def期间将对象的fetch列表作为render传递

x=mycol.find()

downloadData=list(x)

return render(request, 'index.html',downloadData)

错误:
文件“C:\xxx\views.py”,第30行,在索引中返回render(request,'index.html',downloadData)
属性错误:“list”对象没有属性“dict
HTML代码:

{% for d in downloadData %}
        <div class="row content">
          <h2>I Love Food</h2>
          <p>Food is my passion. Lorem ipsum dolor sit amet, consectetur adipiscing elit, </p>
        </div>
 {% endfor %}

有没有人能指出我在这两种方法中做错了什么?
如果你能指向正确的链接将是有帮助的

goqiplq2

goqiplq21#

在这样的上下文中,您应该将数据作为字典传递,

return render(request, 'index.html',{'downloadData':downloadData})

在HTML中,你可以这样访问它,

{% for d in downloadData %}

        <div class="row content">
          <h2>d</h2>
        </div>
 {% endfor %}
btxsgosb

btxsgosb2#

我认为应该像下面这样将downloadData作为参数传递

return render(request, 'index.html', {'downloadData': downloadData})

相关问题