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

How do I iterate over a `page` object's properties in a template?

我有一个看起来像这样的 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 对象的每个属性?

您应该在模型中编写一个方法 class 以 return 属性。

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 %}