Google应用引擎将模板变量传递到具有阵列的视图中

2024-06-11 07:33:55 发布

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

我的main.py有以下变量:

'booking_times':
 {
   'Today': ['9:00', '12:00', '14:00', '15:00', '19:00', '20:00'],
   'Tue': ['9:00', '12:00', '14:00', '15:00', '19:00', '20:00'],
   'Wed': ['9:00', '12:00', '14:00', '15:00', '19:00', '20:00']
 }

在我看来,我希望在表中显示它们:

^{pr2}$

我有两个问题:

(1)作为一个例子,我将如何遍历第2行,每一行都是一个<td>html标记?在

(2)我的第1行如下,但它输出为Tue | Today | Wed,而不是{}:

{% for day in booking_times %}
<td>{{day}}</td>
{% endfor %}

谢谢!在


Tags: inpy标记fortodaymainhtml例子
1条回答
网友
1楼 · 发布于 2024-06-11 07:33:55

假设您使用的是Python,这里有一件事可以尝试。注意,这是从booking_times变量的一个稍微不同的设置开始的,但是希望这个概念是有意义的。总的想法是,我们首先创建一个排序顺序,我们将使用它对值进行排序。然后,我们使用zip创建一个新的列表列表,该列表将以天开始,然后在每个后续列表中以小时为单位。在

booking_times = {
   'Today': ['9:00', '12:00', '14:00', '15:00', '19:00', '20:00'],
   'Tue': ['9:00', '12:00', '14:00', '15:00', '19:00', '20:00'],
   'Wed': ['9:00', '12:00', '14:00', '15:00', '19:00', '20:00']
 }

# Create a new booking_times variable that is a list-of-list,
# leading with the 'days' and followed by one list for each time
sorted_keys = ['Today', 'Tue', 'Wed']
booking_times = [sorted_keys] + zip(*(booking_times[s] for s in sorted_keys))

以下是使用简单的booking_times进行迭代时booking_times的外观:

^{pr2}$

然后,可以将该值传递到模板中,并以与上面相同的方式对其进行迭代:

^{3}$

我现在无法测试模板,但当修改此模板以处理简单的print语句时,将输出以下内容:

Today   Tue Wed
9:00    9:00    9:00
12:00   12:00   12:00
14:00   14:00   14:00
15:00   15:00   15:00
19:00   19:00   19:00
20:00   20:00   20:00

这可能会偏离您当前的设置有点远,所以如果有必要,很乐意进行调整。在

相关问题 更多 >