【问题标题】:Print out a list of items with Django使用 Django 打印出项目列表
【发布时间】:2017-12-05 14:25:21
【问题描述】:

我正在开发一个 Django 项目,我正在尝试解决一个问题。

我的主要范围是通过 url 获取 JSON 文件并将数据打印到表格 (HTML) 中。

更清楚地说,我得到了一个像下面提到的对象以及我想打印到我的表中的每条记录。

{
"myData": [{
            "name": "John",
            "surname": "Williams",
            "birthday": "05/12/1997",
        }, {
            "name": "John",
            "surname": "Williams",
            "birthday": "05/12/1997",
        },]}


<table class="table table-striped table-hover table-bordered">
          <thead class="thead-dark">
            <tr>
                <th>First Name</th>
                <th>Last Name</th>
                <th>Birth Day</th>
            </tr>
          </thead>
          <tbody>
              {% for myData in range(20) %}
                <tr>
                    <td> {{ myData.name }} </td>
                    <td> {{ myData.surname }} </td>
                    <td> {{ myData.birthday }} </td>
                </tr>
              {% endfor %}
          </tbody>
        </table>

我发现它是一个非常常见的实现,但我仍然找不到解决方案。此外,当我尝试在 views.py 文件中运行以下代码时,一切正常,但如果我尝试将数据发送到 .html 文件中,则会出现多个错误。

for i in range(5):
    print name[i]

我写的第一个

{% for x in range(20) %}

我收到了这个错误:

无法解析余数:'(20)' from 'range(20)'

然后我尝试将 range(20) 作为变量从 views.py 文件中传递,因此我将代码的对象行更改为

Object = {'name': name, .... , 'range': range(20)}

这次我很幸运,余数错误,但我的数据仍然不走运。

【问题讨论】:

    标签: python json django


    【解决方案1】:

    尝试使用这种类型的循环 {%for element in myData%} 并且在表格中您将编写 {{ element.name }} 等。

    【讨论】:

    • 感谢您的回答,但我得到一个空白单元格,没有任何变化。
    • 当然,首先我将数据存储在列表中for x in range(len(data)): name.append(data['myData'][x]['name']) surname.append(data['myData'][x]['surname']) birthday.append(data['myData'][x]['birthday']) 然后我将它们发送到我的模板页面:def home(request): Object = {'name': name, 'surname': surname ....etc } return render(request , 'basic.html', context=Object)
    • 你的对象好奇怪) myData = [] for x in data['myData']: tmp = {} tmp['name'] = x['name'] tmp['surname'] = x['surname'] tmp['birtday'] = x['birthday'] myData.append(tmp) 然后在 render context={'myData': myData} 它应该工作。如果没有,那就写信给我,我会改正的。抱歉让您久等了:) tmp = {} 到 myData.append 在循环中。
    • 首先你很有帮助。我使用了您的实现,但是当我尝试显示数据时,我得到一个空单元格。对象是正确的 100% 我检查了它。
    • 我查看了我的旧 django 项目,我的返回就像 return render(request, 'main/article.html', {'article': article})。我忘了问你。您的表格是否包含在块内容中?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    • 2017-10-28
    • 2022-08-08
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    相关资源
    最近更新 更多