如何从页面中检索数据?

How can I retrieve data from a page?

我正在使用 FeinCMS。我想在页面对象转到模板进行渲染之前对其进行一些处理。

在我看来我有代码:

this_page = Page.objects.best_match_for_path(request.path)

正确获取我所在路径的页面。

我真的很想从这个页面中获取一些数据。

有没有我可以调用的函数来获取数据?例如:

this_page = Page.objects.best_match_for_path(request.path)
data = this_page.get_content_for_region('main')

我在 readthedocs 页面中找不到任何内容来回答这个问题。 我对模板或渲染区域不感兴趣。

只需使用 this_page.content - 这是一个 ContentProxy,可让您所在地区的所有内容类型都可用。换句话说,如果您有这样的模板定义:

Page.register_templates({
    'title': 'Standard template',
    'path': 'base.html',
    'regions': (
        ('main', 'Main content area'),
        ('sidebar', 'Sidebar'),
    ),
})

您可以遍历 this_page.content.mainthis_page.content.sidebar:

for content in this_page.content.main:
    print(content.render())