如何在 Django 模板中显示当前年份?

用于动态显示当前年份的内置模板标记是什么。比如“2011”,用什么样的模板标签来显示它?

67083 次浏览

只打印当前年份的完整标记是 {% now "Y" %}。注意 Y 必须加引号。

{% now 'Y' %}是正确的语法

在我的模板中,除了当前年份,我需要一个信用卡到期年份下拉列表,其中包含20个值(从当前年份开始)。select值需要为2位,显示字符串需要为4位。为了避免复杂的模板代码,我编写了这个简单的模板标记:

@register.filter
def add_current_year(int_value, digits=4):
if digits == 2:
return '%02d' % (int_value + datetime.datetime.now().year - 2000)
return '%d' % (int_value + datetime.datetime.now().year)

并以下列方式使用它:

<select name="card_exp_year">
{% for i in 'iiiiiiiiiiiiiiiiiiii' %}
<option value="\{\{ forloop.counter0|add_current_year:2 }}">\{\{ forloop.counter0|add_current_year:4 }}</option>
{% endfor %}
</select>

我在我的基于 Django 的网站上使用了以下内容

{% now 'Y' %}

你可以访问和看到它在页脚部分,我已经显示了当前的一年使用下面的代码(CSS 部分被省略,所以使用你自己的)。

<footer class="container-fluid" id="footer">
<center>
<p>
&copy;
{% now 'Y' %},
PMT Boys hostel <br>
All rights reserved
</p>
</center>
</footer>

它在我的网站页脚显示以下中心文本。

©2018, PMT Boys hostel
All rights reserved