我正在尝试在 Pelican 网站的页脚中显示当前年份。我的理解是Pelican使用Jinja2模板。
在我的footer.html中我使用:
<span>{{ now().year }}</span>
我在我的 base.html 中使用它作为
{% include 'footer.html' %}
但是当我生成页面时出现错误
未定义错误:“现在”未定义
我找不到原因。
有什么技巧/设置/插件我需要使用这个吗?
Pelican 为 Jinja 提供了一个
strftime
额外的过滤器,其工作原理与 Python 的 strftime
完全一样。
以下是这一发现的来源:
也就是说,您需要一个
datetime
对象来使用此过滤器。
后者可以通过修改配置文件pelicanconf.py,添加这两行来获得
from datetime import datetime
NOW = datetime.now()
## Mind that:
## All the setting identifiers must be set in all-caps,
## otherwise they will not be processed.
## @see https://docs.getpelican.com/en/latest/settings.html#settings
现在,在您的模板中,您可以开始使用这个新创建的
NOW
变量并应用 strftime
格式,这意味着您想要 %Y
表示年份:
{{ NOW | strftime('%Y') }}