目录未返回所有条目可能有多种原因:
他们的许可不允许你看到他们,句号。在这方面使用匿名用户当然没有帮助。:-)
条目已过期;他们的过期日期现在已经过去,您无权查看这些内容。同样,使用非特权用户也无济于事。
您正在使用多语言设置,并且项目不是“当前”语言。如果您的查询包含Language='all'
此过滤器,则该过滤器将被禁用。
要在控制台上设置替代用户(最好是具有该Manager
角色的用户),请使用以下代码:
from AccessControl.SecurityManagement import newSecurityManager
site = app['Plone'] # Adjust as needed
# Assuming your username is 'admin', adjust as needed again:
user = app.acl_users.getUser('admin').__of__(site.acl_users)
newSecurityManager(None, user)
就个人而言,每当我使用控制台时,我都会使用以下代码段;如果在我的 Quicksilver 架子上有这个以便于访问。首先我输入:
site_id = '<id of Plone site>' # Adjust as needed
然后粘贴:
import transaction, pdb
from zope.interface import implementedBy
from zope.component import getUtility, queryUtility, queryAdapter
from Zope2 import debug
from Acquisition import aq_inner, aq_parent, aq_chain
from zope.app.component.hooks import setSite, getSiteManager
from Testing.makerequest import makerequest
from AccessControl.SecurityManagement import newSecurityManager, getSecurityManager
try:
import readline
except ImportError:
print "Module readline not available."
else:
import rlcompleter
readline.parse_and_bind("tab: complete")
app = makerequest(app)
site = app[site_id]
setSite(site)
user = app.acl_users.getUser('admin').__of__(site.acl_users)
newSecurityManager(None, user)
现在我已经完成了 readline 以及在我的网站上做一些真正的破坏所需的一切!