chameleon.genshi template bindings for the repoze.bfg web framework
Project description
repoze.bfg.chameleon_genshi
Bindings for Chameleon Genshi-style templating support under repoze.bfg. See the Chameleon website for chameleon.genshi templating language details.
The API for use of repoze.bfg.chameleon_genshi under BFG is identical to the one used for chameleon.zpt` templates as documented in the “Templating” chapter of the BFG docs. Only the templating language itself (Genshi vs. ZPT) and import locations (r.b.chameleon_genshi vs. r.b.chameleon_zpt) differ.
An example:
from repoze.bfg.chameleon_genshi import render_template_to_response render_template_to_response('relative/path/to/template')
relative/path/to/template is relative to the package directory in which the above code is defined.
See also the render_template and get_template APIs exposed by the repoze.bfg.chameleon_genshi package, which serve the same purpose as their brethren in repoze.bfg.chameleon_zpt.
Genshi templates can also be used as a BFG “renderer” when you use repoze.bfg.chameleon_genshi. The easiest way to allow for this is to use the following ZCML in your application’s configure.zcml:
<include package="repoze.bfg.chameleon_genshi"/>
Once your application has been set up to process this ZCML, your application can point at chameleon.genshi templates that have the .genshi file extension from within @bfg_view directives or ZCML view directives in your application. For example:
@bfg_view(renderer='templates/foo.genshi') def someview(request): ....
Or:
<view renderer="templates/foo.genshi" view=".views.someview"/>
If you’d rather not use a .genshi extension for your chameleon.genshi templates, or if you’d rather not use ZCML to do registration, you can explicitly register a renderer using the add_renderer method of a “configurator”. To do so, in the run.py of your BFG application, in the function called at startup, which uses a repoze.bfg.configuration.Configurator as config:
from repoze.bfg.chameleon_genshi import renderer_factory config.add_renderer('.cgenshi', renderer_factory)
Once you’ve registered .cgenshi as a renderer in a view configuration, you can do the following:
@bfg_view(renderer='templates/foo.cgenshi') def someview(request): ....
repoze.bfg.chameleon_genshi
0.2 (2010-06-15)
Bring up to speed with BFG 1.3.X.
0.1 (2009-05-02)
Initial release (break code out of BFG core).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for repoze.bfg.chameleon_genshi-0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 505e782552fe5d8768296e7f3c77e2df00d7290615a21c9273e115cbd7bab7a8 |
|
MD5 | 295229348908c4d847f392570e90d1e4 |
|
BLAKE2b-256 | 6b0b25db85a7b8f6063b612c22738cbdd9371ee08c13a4a6fdf920a1bdbb81fb |