2017-02-23 65 views
1

我正在使用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页面找不到任何东西来回答这个问题。 我对模板或渲染区域不感兴趣。

回答

1

只需使用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())