class twisted.web.template.Element: (source)
Known subclasses: twisted.web.util._FrameElement, twisted.web.util._SourceFragmentElement, twisted.web.util._SourceLineElement, twisted.web.util._StackElement, twisted.web.util.FailureElement
Implements interfaces: twisted.web.iweb.IRenderable
Base for classes which can render part of a page.
An Element is a renderer that can be embedded in a stan document and can hook its template (from the loader) up to render methods.
An Element might be used to encapsulate the rendering of a complex piece of data which is to be displayed in multiple different contexts. The Element allows the rendering logic to be easily re-used in different ways.
Element returns render methods which are registered using twisted.web._element.renderer
. For example:
class Menu(Element): @renderer def items(self, request, tag): ....
Render methods are invoked with two arguments: first, the twisted.web.http.Request
being served and second, the tag object which "invoked" the render method.
Instance Variable | loader | The factory which will be used to load documents to return from render . |
Method | __init__ | Undocumented |
Method | lookupRenderMethod | Look up and return the named render method. |
Method | render | Implement IRenderable to allow one Element to be embedded in another's template or rendering output. |
render
.ITemplateLoader
provider)
Implement IRenderable
to allow one Element
to be embedded in another's template or rendering output.
(This will simply load the template from the loader
; when used in a template, the flattening engine will keep track of this object separately as the object to lookup renderers on and call Element.renderer
to look them up. The resulting object from this method is not directly associated with this Element
.)