注销浏览器层
Unregister browser layer
在一个 Plone 站点中,我删除了一个产品,但它的浏览器层仍然注册(在日志中引发一些异常)
2015-09-10T06:00:32 WARNING OFS.Uninstalled Could not import class 'ICollectiveMailchimp' from module 'collective.mailchimp.interfaces'
我尝试使用 plone.browserlayer.utils.unregister_layer
删除此图层,但它向我发送了 KeyError
异常:
>>> pprint(utils.registered_layers())
[.
.
.
<InterfaceClass collective.mailchimp.interfaces.ICollectiveMailchimp>,
<InterfaceClass collective.liveblog.interfaces.IBrowserLayer>,
<InterfaceClass collective.blueline.interfaces.IBrowserLayer>]
>>> layer = utils.registered_layers()[-3]
>>> layer
<InterfaceClass collective.mailchimp.interfaces.ICollectiveMailchimp>
>>> layer.__name__
'ICollectiveMailchimp'
>>> utils.unregister_layer(layer)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/cartacapital/cartacapital.portal.buildout/eggs/plone.browserlayer-2.1.3-py2.7.egg/plone/browserlayer/utils.py", line 38, in unregister_layer
raise KeyError("No browser layer with name %s is registered." % name)
KeyError: 'No browser layer with name <InterfaceClass collective.mailchimp.interfaces.ICollectiveMailchimp> is registered.'
>>> utils.unregister_layer(layer.__name__)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/cartacapital/cartacapital.portal.buildout/eggs/plone.browserlayer-2.1.3-py2.7.egg/plone/browserlayer/utils.py", line 38, in unregister_layer
raise KeyError("No browser layer with name %s is registered." % name)
KeyError: 'No browser layer with name ICollectiveMailchimp is registered.'
在取消注册之前是否需要重新注册该图层?
哦..我使用了错误的名称来注销它..这解决了我的问题:
utils.unregister_layer(name='collective.mailchimp')
谢谢
在一个 Plone 站点中,我删除了一个产品,但它的浏览器层仍然注册(在日志中引发一些异常)
2015-09-10T06:00:32 WARNING OFS.Uninstalled Could not import class 'ICollectiveMailchimp' from module 'collective.mailchimp.interfaces'
我尝试使用 plone.browserlayer.utils.unregister_layer
删除此图层,但它向我发送了 KeyError
异常:
>>> pprint(utils.registered_layers())
[.
.
.
<InterfaceClass collective.mailchimp.interfaces.ICollectiveMailchimp>,
<InterfaceClass collective.liveblog.interfaces.IBrowserLayer>,
<InterfaceClass collective.blueline.interfaces.IBrowserLayer>]
>>> layer = utils.registered_layers()[-3]
>>> layer
<InterfaceClass collective.mailchimp.interfaces.ICollectiveMailchimp>
>>> layer.__name__
'ICollectiveMailchimp'
>>> utils.unregister_layer(layer)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/cartacapital/cartacapital.portal.buildout/eggs/plone.browserlayer-2.1.3-py2.7.egg/plone/browserlayer/utils.py", line 38, in unregister_layer
raise KeyError("No browser layer with name %s is registered." % name)
KeyError: 'No browser layer with name <InterfaceClass collective.mailchimp.interfaces.ICollectiveMailchimp> is registered.'
>>> utils.unregister_layer(layer.__name__)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/cartacapital/cartacapital.portal.buildout/eggs/plone.browserlayer-2.1.3-py2.7.egg/plone/browserlayer/utils.py", line 38, in unregister_layer
raise KeyError("No browser layer with name %s is registered." % name)
KeyError: 'No browser layer with name ICollectiveMailchimp is registered.'
在取消注册之前是否需要重新注册该图层?
哦..我使用了错误的名称来注销它..这解决了我的问题:
utils.unregister_layer(name='collective.mailchimp')
谢谢