问题:如何在Django模板中显示当前年份?
什么是内置模板标签以动态显示当前年份。像“ 2011”一样,显示该模板的模板标记是什么?
回答 0
仅打印当前年份的完整标签是{% now "Y" %}
。请注意,Y必须用引号引起来。
回答 1
{% now 'Y' %}
是正确的语法
回答 2
回答 3
我在基于Django的网站http://pmtboyshostelraipur.pythonanywhere.com/中使用了以下命令,该工具可以正常运行(也许,当您阅读本文时,它已经停止工作,因为这是免费托管,所以试试看代码)。
{% now 'Y' %}
您可以使用以下代码在我显示了本年度的页脚部分中访问和查看(省略CSS部分,因此请使用您自己的)。
<footer class="container-fluid" id="footer">
<center>
<p>
©
{% now 'Y' %},
PMT Boys hostel <br>
All rights reserved
</p>
</center>
</footer>
它在我的网站的页脚中显示以下居中文本。
©2018, PMT Boys hostel
All rights reserved
回答 4
在我的模板中,除了当年之外,我还需要一个具有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>