class documentation

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.

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.
Instance Variable loader The factory which will be used to load documents to return from render.
def lookupRenderMethod(self, name: str) -> Callable[[Optional[IRequest], Tag], Flattenable]: (source)

Look up and return the named render method.

def render(self, request: Optional[IRequest]) -> Flattenable: (source)

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.)

The factory which will be used to load documents to return from render.