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

时间:2011-06-07 01:23:46

标签: python django

内置模板标记是什么动态显示当前年份。像“2011”那样显示的模板标签是什么?

6 个答案:

答案 0 :(得分:278)

仅打印当前年份的完整标记为{% now "Y" %}。请注意,Y必须用引号括起来。

答案 1 :(得分:37)

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

答案 2 :(得分:11)

答案 3 :(得分:0)

我在基于Django的网站{​​{3}}中使用了以下内容,该网站正常运行。

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

你可以访问&amp;在我使用下面的代码显示当前年份的页脚部分中看到它(CSS部分被省略,因此请使用您自己的部分。)

©2018, PMT Boys hostel 
All rights reserved

它在我网站的页脚中显示以下居中文字。

ActiveRecord::AssociationTypeMismatch: SubscriptionPlan(#75441564) expected, got "Silver Plan" which is an instance of String(#36231624)
./spec/models/user_spec.rb:5:in `block (2 levels) in <top (required)>'
-e:1:in `load'
-e:1:in `<main>'

答案 4 :(得分:-1)

如果您想跨越范围,请使用django-copyright,例如“©2010 - 2015”或仅让应用设置当前年份,例如“©2015”。

答案 5 :(得分:-2)

在我的模板中,除了当年,我需要信用卡到期年份下拉列表,其中包含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>