【发布时间】:2021-03-09 21:55:39
【问题描述】:
我正在从我在模板中循环的 API 接收数据。除了日期之外,每个值都很好。
因为模板无法将日期格式化为字符串,所以我在视图中对其进行了格式化(如下所示)。但是现在当我将该 datetime 变量传递给我的模板时,它只会为每次迭代显示相同的日期,其他所有值都是正确的。
我怎样才能正确地迭代日期?
谢谢!
for game in games:
date = game['schedule']['date']
datetime_date = datetime.strptime(date, '%Y-%m-%dT%H:%M:%S.%fZ')
game_date = datetime_date.strftime('%B %d, %Y')
game_time = datetime_date.strftime('%-I:%M %p')
context = {
'games': games,
'game_date': game_date,
'game_time': game_time
}
return render(request, 'games/games.html', context)
{% for game in games %}
<div class="col-12 col-lg-6 mb-4">
<div class="gamecard p-2">
<div class="row">
<div class="col-12">
<h3 class="game-summary white opacity-90 text-center font-800 mb-
0">{{ game.summary }}
</h3>
<p class="white opacity-90 mb-0 text-center">
{{ game_date }}
{{ game_time }}
</p>
<p class="white opacity-90 mb-2 text-center"><small>
{{ game.venue.name }} - {{ game.venue.city }},
{{ game.venue.state }}</small>
</p>
</div>
</div>
{% endfor %}
【问题讨论】:
-
您好先生,游戏模型有game_date和game_time字段吗?该值始终相同,因为您正在设置 'game_date': game_date 并且 game_date 是一个值而不是列表或属性
-
日期本质上是通过 for 循环运行两次。一次,我可以在我的视图中格式化它,然后在我的模板中再次格式化。我不知道如何格式化和传递它。