如何在模板中迭代“页面”对象的属性?

时间:2018-07-09 22:07:36

标签: wagtail

我有一个看起来像这样的Django模板页面。

{% extends "base.html" %}
{% load wagtailcore_tags static %}
{% block body_class %}template-bidpage{% endblock %}
{% block content %}
    {% for prp in page %}
        <p>{{ prp }}</p>
    {% endfor %}
{% endblock content %}

但是加载此页面会给我错误'MyPage' object is not iterable。如何显示MyPage对象的每个属性?

1 个答案:

答案 0 :(得分:1)

您应该在模型类中编写一个方法以返回属性。

class MyPage(Page):

    # your fields go here

    def get_properties(self):
        # return all properties

然后在您的模板中

{% extends "base.html" %}
{% load wagtailcore_tags static %}
{% block body_class %}template-bidpage{% endblock %}
{% block content %}
    {% for prp in page.get_properties %}
        <p>{{ prp }}</p>
    {% endfor %}
{% endblock content %}