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

什么是内置的模板标签dynamic显示当年。 像“2011”一样,模板标签显示的是什么?

打印当前年份的完整标签是{% now "Y" %} 。 请注意,Y必须在引号中。

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

{% now %}

如果您想跨越一个范围,使用django-copyright ,例如“©2010 – 2015”,或者让应用程序设置当前年份,例如“©2015”。

在我的模板中,除了今年,我需要一个信用卡到期年份下拉20个值(从今年开始)。 select值需要为2位,显示string为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>