txTemplate provides adapters for a few popular template engines to make them easily callable and usable within Twisted Web.
txTemplate uses zope.interface to provide a consistent loader and template interface for every template engine.
Supported Template Engines
ClearSilver
Genshi
Jinja2
Getting Started
- All you really need to do to use txTemplate in twisted is:
import it
create a loader pointed at your template directory
load a template with said loader
call template.render, attach callbacks to the rendered deferred (if desired) and return the deferred from and of your twisted.web.resource.Resource render_* methods.
Here’s a code sample of a Twisted Web resource that uses txTemplate to render a lovely Genshi template to say Hello World in HTML:
import os
from twisted.application import internet
from twisted.internet import reactor
from twisted.web import resource
from twisted.web import server
import txtemplate
TEMPLATE_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)),
"templates")
class HelloWorld(resource.Resource):
def __init__(self):
resource.Resource.__init__(self)
self.loader = txtemplate.GenshiTemplateLoader(TEMPLATE_DIR)
def getChild(self, name, request):
return self
def render_GET(self, request):
template_name = "hello.xhtml"
template = self.loader.load(template_name)
context = {"greeting": "Hello",
"greetee": "World"}
def cb(content):
request.write(content)
request.setResponseCode(200)
request.finish()
d = template.render(**context)
d.addCallback(cb)
return server.NOT_DONE_YET
site = server.Site(HelloWorld())
reactor.listenTCP(8888, site)
reactor.run()
This example is included in txtemplate/examples/txweb.py and the root.xhtml template is in txtemplate/examples/templates/root.xhtml.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file txTemplate-1.0.4.tar.gz.
File metadata
- Download URL: txTemplate-1.0.4.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed90df6cde0c832b6dce4c82aacd1811bc0a5ef25e086de3d577a19f9871607b
|
|
| MD5 |
3bd26996a10fe26359201edee6b15210
|
|
| BLAKE2b-256 |
d2634c0e25c903358279eba9d6abef7902ecfb92429a11ac2eda40e7a458a23e
|