我正在创建一个网络应用程序,允许用户创建时间表(例如,用于建造世界或小说)。
在此范围内,对于历史事件,用户可以输入以下8个内容:开始年/月/日/小时和结束年/月/日/小时,而仅需要开始年。
该应用将这些内容以及其余的条目详细信息插入到数据库中的两列中:开始日期(包含开始y / m / d / h)和结束日期(包含结束y / m / d / h)。这些字符串的格式如下:'Y:M:D:H'
。有时它们可能是'203:None:None:None'
或'203:None:23rd:None'
等。
我已经开始使用jinja在我的Web应用程序中显示它们,到目前为止,我不得不显示它们的选项非常长,并且将是大量的ifs
/ elifs
。
为了展示我的目标,这是我所拥有的第一部分代码:
注意:sy =开始年,ey =结束年,sm =开始月,依此类推。这些是通过sy,sm,sd,sh=era_entries_dict[era][5].split(':')
检索的。这段代码位于各个时代列表的for循环内,并显示时代内的历史记录。
{% if (sm == 'None') and (sd=='None') and (sh=='None') %}
{% if ey == 'None' %}
<h6 class="text-muted">{{ sy }}</h6>
{% else %}
{% if (em=='None') and (ed=='None') and (eh=='None') %}
<h6 class="text-muted">{{ sy }} > {{ ey }}</h6>
{% elif (ed=='None') and (eh=='None') %}
<p class="text-muted">{{ sy }} > {{ sm }} {{ sy }}</p>
因此,从本质上讲,如果仅靠年份(sy
或sy
和ey
),它将在h6标签中,否则将在段落标签中。
有什么办法可以缩短时间?我感谢任何提示/建议。谢谢!