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): ....
Misc
By default, Chameleon’s Genshi XIncludes support cannot resolve repoze.bfg “resource specifications” (e.g. my_package:foo/bar.genshi). In order to activate an XIncludes class that understands repoze.bfg resource specifications, call the repoze.bfg.chameleon_genshi.XIncludes.activate method before using any templates (e.g., at process startup time):
from repoze.bfg.chameleon_genshi import XIncludes XIncludes.activate()
This will replace the XIncludes helper class for all consumers of Chameleon in the process.
repoze.bfg.chameleon_genshi
0.3 (2010-07-09)
By default, Chameleon’s Genshi XIncludes support cannot resolve repoze.bfg “resource specifications” (e.g. my_package:foo/bar.genshi). In order to activate an XIncludes class that understands repoze.bfg resource specifications, call the repoze.bfg.chameleon_genshi.XIncludes.activate method before using any templates (e.g., at process startup time):
from repoze.bfg.chameleon_genshi import XIncludes XIncludes.activate()
This will replace the XIncludes helper class for all consumers of Chameleon in the process.
Depend on Chameleon >= 1.2.8 (replaceable XIncludes class).
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
File details
Details for the file repoze.bfg.chameleon_genshi-0.3.tar.gz
.
File metadata
- Download URL: repoze.bfg.chameleon_genshi-0.3.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0eaf94f317e805b36af7aa65ff90756669fd09979ed2206e03930a464231c38 |
|
MD5 | 1138a822caacaa88c2481ab38780112b |
|
BLAKE2b-256 | ba72d6fba082896a351654864221481956db83f85c54927ad908657994bb495f |