在flas中打印数组的值

2024-05-23 22:39:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数组:

[['Frutta', 
['M01', '2018-08-06 08:35:00', '2018-08-06 10:13:00'], ['M02', 
'2018-08-06 10:18:00', '2018-08-06 11:42:00'], ['M04', '2018-08-06 15:19:00', 
'2018-08-06 16:37:00']], 

['verdura', 
['M01', '2018-08-06 08:35:00', '2018-08-06 10:25:00']]]

我要打印每个字段

所以,我试着用这个瓶子:

^{pr2}$

我想打印如下:

frutta

  • M01, 2018-08-06 08:35:00, 2018-08-06 10:13:00
  • M02, 2018-08-06 10:18:00, 2018-08-06 11:42:00
  • M04, 2018-08-06 15:19:00, 2018-08-06 16:37:00

verdura

  • M01, 2018-08-06 08:35:00, 2018-08-06 10:25:00

但我想不通。。在


编辑。在

有没有可能在某种程度上,打印上一个周期使用的机器?例如:

frutta

  • M01, 2018-08-06 08:35:00, 2018-08-06 10:13:00我想在这里打印{}
  • M02, 2018-08-06 10:18:00, 2018-08-06 11:42:00这里是{}
  • M04, 2018-08-06 15:19:00, 2018-08-06 16:37:00这里是{}

verdura

  • M01, 2018-08-06 08:35:00, 2018-08-06 10:25:00这里{}

Tags: 机器编辑瓶子数组m01pr2m02m04
2条回答

在基本.html在

{% for row in data %}
    {{row[0]}}
    <ul>
        {% for element in row[1:] %}
            <li>{{element|join(', ')}}<li>
        {% endfor %}
    </ul>
{% endfor %}

在视图.py在

^{pr2}$

我想如果你给每个组增加一个额外的嵌套级别,你会过得更轻松。所以数组实际上是[[name, list_of_machines], [name, list_of_machines], ...]的列表。如果执行此操作,则可以使用以下模板创建一个循环,该循环为每个标题创建一个表:

from jinja2 import Environment, BaseLoader

template_string = """
{% for group_index in range(arrays| length) %}
    <h3>{{ arrays[group_index][0] }}</h3>
    <table>
        {% for machine in range(arrays[group_index][1] | length) %}
            <tr>
                <td>{{ arrays[group_index][1][machine][0] }}</td>
                <td>{{ arrays[group_index][1][machine][1] }}</td>
                <td>{{ arrays[group_index][1][machine][2] }}</td>
            </tr>
        {% endfor %}
        </tr>
    </table>
{% endfor %}

"""


data = [
['Frutta',
 [['M01', '2018-08-06 08:35:00', '2018-08-06 10:13:00'],
  ['M02', '2018-08-06 10:18:00', '2018-08-06 11:42:00'],
  ['M04', '2018-08-06 15:19:00', '2018-08-06 16:37:00']]],

['verdura',
[['M01', '2018-08-06 08:35:00', '2018-08-06 10:25:00']]]]

template = Environment(loader=BaseLoader).from_string(template_string)
print(template.render(arrays=data))

相关问题 更多 >