簡體   English   中英

您如何在python中渲染plone網站的首頁?

[英]How do you render the front page of a plone site in python?

以下瀏覽器視圖在其上下文中返回第一個Plone網站首頁的內容。 但是,我似乎無法獲得能夠呈現html內容的對象。

from Products.Five import BrowserView
from zope.component import getMultiAdapter

class RenderFirst (BrowserView):
    def __call__ (self):

        def findPlones (context):
            plones = context.objectValues("Plone Site")
            folders = context.objectValues("Folder")
            folders = set(folders).difference(set(plones))
            for folder in folders:
                plones += findPlones(folder)
            return plones

        plones = findPlones(context)


        if len(plones):
            default_page = plones[0].getDefaultPage()
            content = plones[0].unrestrictedTraverse (default_page)
            view = getMultiAdapter ((content, self.request))
            return view()

        else:
            return "no plone"

前面的代碼在運行時告訴我對象視圖不可調用。

plones[0]是一個Plone站點對象,並調用時產生一個KeyErrorfolder_listing如果我所說的content對象,我得到一個AttributeError用於document_view

這里有很多組合,可以調用不同對象的不同適配器。 尚未找到可以渲染頁面的正確對象。 有人知道怎么做嗎?

當我在pdb中嘗試此操作時,簡單的plones[0]()可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM