t.w.template : module documentation

Part of twisted.web View Source

HTML rendering for twisted.web.
Class Tag No summary
Class slot Marker for markup insertion in a template.
Class Comment A <!-- --> comment from a template. Given a separate representation in the DOM so that they may be round-tripped through rendering without losing information.
Class CDATA A <![CDATA[]]> block from a template. Given a separate representation in the DOM so that they may be round-tripped through rendering without losing information.
Class CharRef A numeric character reference. Given a separate representation in the DOM so that non-ASCII characters may be output as pure ASCII.
Class TagLoader An ITemplateLoader that loads existing IRenderable providers.
Class XMLString An ITemplateLoader that loads and parses XML from a string.
Class XMLFile An ITemplateLoader that loads and parses XML from a file.
Function renderElement Render an element or other IRenderable.
Class Element Base for classes which can render part of a page.
Function renderer Decorate with renderer to use methods as template render directives.
Function flatten Incrementally write out a string representation of root using write.
Function flattenString Collate a string representation of root into a single string.
Class _NSContext A mapping from XML namespaces onto their prefixes in the document.
Class _ToStan A SAX parser which converts an XML document to the Twisted STAN Document Object Model.
Function _flatsaxParse Perform a SAX parse of an XML document with the _ToStan class.
Class _TagFactory A factory for Tag objects; the implementation of the tags object.
def _flatsaxParse(fl): (source)
Perform a SAX parse of an XML document with the _ToStan class.
ParametersflThe XML document to be parsed. (type: A file object or filename.)
Returnsa list of Stan objects.
def renderElement(request, element, doctype='<!DOCTYPE html>', _failElement=None): (source)
Render an element or other IRenderable.
ParametersrequestThe Request being rendered to.
elementAn IRenderable which will be rendered.
doctypeA str which will be written as the first line of the request, or None to disable writing of a doctype. The string should not include a trailing newline and will default to the HTML5 doctype '<!DOCTYPE html>'.
ReturnsNOT_DONE_YET
Present Since12.1
@exposer
def renderer(): (source)

Decorate with renderer to use methods as template render directives.

For example:

   class Foo(Element):
       @renderer
       def twiddle(self, request, tag):
           return tag('Hello, world.')

   <div xmlns:t="http://twistedmatrix.com/ns/twisted.web.template/0.1">
       <span t:render="twiddle" />
   </div>

Will result in this final output:

   <div>
       <span>Hello, world.</span>
   </div>
def flatten(request, root, write): (source)
Incrementally write out a string representation of root using write.

In order to create a string representation, root will be decomposed into simpler objects which will themselves be decomposed and so on until strings or objects which can easily be converted to strings are encountered.

ParametersrequestA request object which will be passed to the render method of any IRenderable provider which is encountered.
rootAn object to be made flatter. This may be of type unicode, bytes, slot, Tag, tuple, list, GeneratorType, Deferred, or something that provides IRenderable.
writeA callable which will be invoked with each bytes produced by flattening root.
ReturnsA Deferred which will be called back when root has been completely flattened into write or which will be errbacked if an unexpected exception occurs.
def flattenString(request, root): (source)
Collate a string representation of root into a single string.

This is basically gluing flatten to a StringIO and returning the results. See flatten for the exact meanings of request and root.

ReturnsA Deferred which will be called back with a single string as its result when root has been completely flattened into write or which will be errbacked if an unexpected exception occurs.
API Documentation for Twisted, generated by pydoctor at 2014-05-12 18:27:00.