2017-02-23 95 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())