【问题标题】:Accessing json objects with spaces in html table访问html表中带空格的json对象
【发布时间】:2020-01-19 23:40:24
【问题描述】:

抱歉,如果以前有人问过这个问题,但我似乎找不到答案。我是 html/java/django 的超级新手,但我觉得这不应该这么难,而且是一个愚蠢的问题,但我要疯了。我正在制作一个从 firebase 提取 json 数据的 Web 应用程序,所以我使用 python/pyrebase/django 等,我只需要从我的数据库中访问一个 json 对象并将其放入一个 html 表中。这一切都很好,除了访问其中有空格的孩子(不幸的是,我需要为我的移动应用程序保留这些空间)。我认为它在点/括号表示法中是相同的,但这似乎不起作用。我也尝试过声明一个变量 <script> var score = 'JUDGE A RUN 1: '; </script> 并使用 result.score 没有运气,但也许我把它放在错误的位置或一些愚蠢的地方。

<div class="container">

        <h2></h2>
        <p></p>            
        <table class="table table-striped">
          <thead>
            <tr>
                <th>BIB</th>
                <th>Ridername</th> 
                <th>Stance</th>
                <th>Score</th>
            </tr>
          </thead>
          <tbody>
            {% for result in data%}
            <tr> 
                <td>{{ result.bib }}</td> <! works! >
                <td>{{ result.ridername }}</td> <! works! >
                <td>{{ result.stance}}</td> <! works! >
                <td>{{ result['JUDGE A RUN 1: '] }}</td> <! doesn't work :( >
            </tr>
            {% endfor %}
          </tbody>
        </table>
</div>

数据如下:

data = [ 
    {
        'JUDGE A RUN 1: ': '10', 
        'JUDGE A RUN 2: ': '11', 
        'JUDGE A RUN 3: ': '13', 
        'JUDGE B RUN 1: ': '13', 
        'JUDGE B RUN 2: ': '14', 
        'JUDGE B RUN 3: ': '15', 
        'bib': '01', 
        'category': 'ProMen', 
        'ridername': 'Test', 
        'score': '-', 
        'stance': 'R'
    }, 
    {
        'JUDGE A RUN 1: ': '20',
        'bib': '02', 
        'category': 'ProMen', 
        'ridername': 'Tester', 
        'score': '-', 
        'stance': 'G'
    }
]

非常感谢您的帮助。

【问题讨论】:

  • 数据中ARUN之间只有一个空格,但result['JUDGE A RUN 1: ']中有5个空格(评论查看器会将它们折叠起来)。
  • 在原始数据中,有 5 个。但我已经尝试了 1 和 5 和 4 实际上有
  • 我想不出任何其他原因导致它不起作用。
  • 只有一个结果具有这些属性,因此您将在其他行上得到空白。
  • 请编辑问题以准确显示数据。

标签: python html json django


【解决方案1】:

您无法使用常规方法获得它,一种方法是:

{% for k, v in data.items %}
   {% ifequal k "JUDGE A RUN 1: " %}
       {{ v }}
   {% endifequal %}
{% endfor %}

这只是检查是否有任何与JUDGE A RUN 1:匹配的键,然后显示值

【讨论】:

  • 是的!只需将“数据”更改为“结果”就可以了!谢谢!
猜你喜欢
  • 2017-02-01
  • 1970-01-01
  • 2023-03-04
  • 2018-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
相关资源
最近更新 更多