如何在分类列表页面显示分类名称?

How to show the category name on the category listing page?

我已经在我的基本网站上使用 Wagtail 一段时间了,但在大流行期间,我不得不为我的所有课程创建在线版本——我在一所大学教书——我决定在 Wagtail 中执行此操作。这是一个比大学所能提供的任何解决方案都要强大得多的解决方案。 (我想很多人都和我一样。)到目前为止一切都很好,但我不是程序员(我教创意写作!)所以我对一些事情有点不知所措。这是我需要帮助的一件事。我有类别(根据 Kalob 的教程),并且我有类别列表页面。我单击一个类别,我得到一个页面,该页面仅显示该类别中的页面。到目前为止,一切都很好。但是,我如何在这些列表页面上显示“显示类别 X 中的页面”的 header?这是我的课程应用模型中的内容(直接取自 Kalob's tutorial on categories):

@route(r"^category/(?P<cat_slug>[-\w]*)/$", name="category_view")
def category_view(self, request, cat_slug):
    """Find courses based on a category."""
    context = self.get_context(request)

    try:
        # Look for the course category by its slug.
        category = CourseCategory.objects.get(slug=cat_slug)
    except Exception:
        category = None

    if category is None:
        # This is an additional check.
        pass

    context["courses"] = (
        CoursePage.objects.live().public().filter(
            categories__in=[category])
    )

下面是我在这些类别页面的模板中的内容:

                   <ul class="menu-list">
                        {% for cat in categories %}
                        <li>
                            <a href="{% routablepageurl page "category_view" cat.slug %}">
                                {{ cat.name }}
                            </a>
                        </li>
                        {% endfor %}
                    </ul>
           

正如预期的那样,上面显示了所有类别。我如何只显示所选页面的类别,以便我可以将其放在页面标题中?我已经尝试了一些事情,但正如我所说,我在这里超出了我的深度,我只是在猜测和谷歌搜索——到目前为止,没有成功。我知道很多 的方法。

不确定我是否遗漏了什么,但如果您想让当前类别可用于您的模板(基于 URL 中的 slug 的类别)。您可以将它添加到上下文中以使其在您的模板中可用,类似于您添加 courses.

的方式

例子

my_model.py
@route(r"^category/(?P<cat_slug>[-\w]*)/$", name="category_view")
def category_view(self, request, cat_slug):
    """Find courses based on a category."""
    # ... rest of the code from above

    context["courses"] = (
        CoursePage.objects.live().public().filter(
            categories__in=[category])
    )
    context["current_category"] = category
my_template.html
<h2>{{ page.title }} - {{ current_category }}