Default View Name API

Default view name API

zope.publisher.defaultview.queryDefaultViewName(object, request, default=None, context=None)[source]

query the default view for a given object and request.

>>> from zope.publisher.defaultview import queryDefaultViewName

lets create an object with a default view.

>>> import zope.interface
>>> class IMyObject(zope.interface.Interface):
...   pass
>>> @zope.interface.implementer(IMyObject)
... class MyObject(object):
...   pass
>>> queryDefaultViewName(MyObject(), object()) is None
True

Now we can will set a default view.

>>> import zope.component
>>> import zope.publisher.interfaces
>>> zope.component.provideAdapter('name',
...     adapts=(IMyObject, zope.interface.Interface),
...     provides=zope.publisher.interfaces.IDefaultViewName)
>>> queryDefaultViewName(MyObject(), object())
'name'

This also works if the name is empty

>>> zope.component.provideAdapter('',
...     adapts=(IMyObject, zope.interface.Interface),
...     provides=zope.publisher.interfaces.IDefaultViewName)
>>> queryDefaultViewName(MyObject(), object())
''