首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >鹈鹕--“articles_page”是未定义的

鹈鹕--“articles_page”是未定义的
EN

Stack Overflow用户
提问于 2018-07-15 10:23:56
回答 4查看 842关注 0票数 6

我为鹈鹕创造了我自己的主题,我已经用它来建立我的网站一段时间了。我已经决定再次开始写博客,所以我只是现在添加博客功能到网站。

我已经创建了自己的blog.html模板来以我想要的方式呈现内容。我开始复制和粘贴的‘简单’主题的代码,这是附带的鹈鹕,让我开始,但即使它是不变的,我得到了一个'articles_page' is undefined错误时,我试图构建。

article_page变量集从哪里来?我试图添加到我的pelicanconf.py文件,但它没有帮助。

代码语言:javascript
复制
{% extends 'base.html' %}
{% block title %}{{ page.title }} — Ricky White{% endblock title %}

{% block content %}  

<section class="wrapper">
<div class="container">
    <div class="row">
        <div class="col">
            <ol id="post-list">
                {% for article in articles_page.object_list %}
                    <li><article class="hentry">
                            <header> <h2 class="entry-title"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2> </header>
                            <footer class="post-info">
                                <time class="published" datetime="{{ article.date.isoformat() }}"> {{ article.locale_date }} </time>
                                <address class="vcard author">By
                                {% for author in article.authors %}
                                    <a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
                                {% endfor %}
                                </address>
                            </footer><!-- /.post-info -->
                            <div class="entry-content"> {{ article.summary }} </div><!-- /.entry-content -->
                    </article></li>
                {% endfor %}
            </ol><!-- /#posts-list -->
            {% if articles_page.has_other_pages() %}
                {% include 'pagination.html' %}
            {% endif %}

        </div>
    </div>
</div>
</section>
{% endblock content %}
EN

回答 4

Stack Overflow用户

发布于 2018-10-08 21:56:23

您必须使用以下方法从其中一篇文章引用了模板:

代码语言:javascript
复制
Template: blog

如果删除该引用并将下列行添加到pelicanconf.py中,鹈鹕将直接从模板文件生成blog.html:

代码语言:javascript
复制
DIRECT_TEMPLATES = ['index', 'blog']
PAGINATED_DIRECT_TEMPLATES = ['blog']

(在运行鹈鹕之前,不要忘记清空输出文件夹。在鹈鹕3.7.1上测试)

票数 1
EN

Stack Overflow用户

发布于 2021-02-13 20:04:42

为了将来的来访者,他们可能会像我一样来到这里寻找答案:

这个问题可能有很多各种各样的原因。在我的例子中,它不是配置鹈鹕工具的问题,而是我的一些内容页面的元数据中的一个错误。我没有包括正确的类别、日期或标签字段。从错误信息中你永远猜不到这一点,是吗?

票数 1
EN

Stack Overflow用户

发布于 2021-05-03 08:57:30

我发现这个问题是为了寻找同样的错误。

在我的例子中,原因是问题已经关闭,但没有合并到阿提拉主题的电流释放中。更准确地说,这个错误是由主题的templates文件夹中的一个模板引起的,其中有一个错误的引用。在具体情况下,在page模板中出现了对article的错误引用。

手动更改模板解决了以下问题:

代码语言:javascript
复制
--- a/attila-1.3/templates/page.html
+++ b/attila-1.3/templates/page.html
@@ -21,8 +21,8 @@
   {% else %}
     {% set selected_cover = SITEURL+"/"+HEADER_COVER %}
   {% endif %}
-{% elif article.color %}
-  {% set selected_color = article.color %}
+{% elif page.color %}
+  {% set selected_color = page.color %}
 {% elif HEADER_COLOR %}
   {% set selected_color = HEADER_COLOR %}
 {% endif %}

我希望这有助于调试类似的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51347449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档