【问题标题】:Print the last modification of a jinja2 template in pelican在 pelican 中打印 jinja2 模板的最后修改
【发布时间】:2013-12-24 21:01:22
【问题描述】:

我正在使用 Pelican 3.3,并且我的 jinja2 模板中有一个几乎静态文件 index.html。我想在其中显示文件的最后修改日期。

我很容易发现article.locale_datepage.locale_date 正在为文章和页面做这项工作(DEFAULT_DATE = 'fs')。但是,我不知道如何为模板文件执行此操作。

我发现some suggestions 关于通过其他 Python 模块(例如 FlaskEnvironment)使用 Python 函数。但是,有没有更简单的方法来获取模板文件的最后修改日期?

【问题讨论】:

    标签: python jinja2 pelican


    【解决方案1】:

    我发现了一个肮脏的伎俩,所以我仍然希望有人能以比我更好的方式回答这个问题。

    重点是使用pelicanconf.py文件设置环境变量来获取所需的日期。我刚刚将以下内容添加到pelicanconf.py

    import os.path, time
    INDEX_DATE = time.ctime(os.path.getmtime(path/to/the/index.html))
    

    一旦你获得了INDEX_DATE 变量集,你就可以在你的 Jinja2 模板中使用它,如下所示:

    {{ INDEX_DATE }}
    

    所以,这是一个快速而肮脏的把戏。希望有人能给我一个更好的方法!

    【讨论】:

    • 错误,如果用户指定单个文件的路径(例如path/to/the/index.html),它可以工作。但是是否可以打印每篇文章的最后修改?用户可以将article 作为参数传递吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多