2009-12-18 13 views

Répondre

2

Le package à http://svn.repoze.org/repoze.bfg.jinja2/trunk/repoze/bfg/jinja2/ fournit des liaisons Jinja2 supplémentaires pour BFG. Fondamentalement, vous créez un tel paquet, puis permettez aux gens de le connecter à leurs systèmes.

Il existe deux niveaux d'intégration. La première est une simple intégration au niveau des importations qui permettrait aux gens de faire quelque chose comme:

de render_template_to_response import my.template.system

def aview (demande): render_template_to_response de retour ('un/parent/chemin .myt ')

En retournant les méthodes render_template * dans repoze.bfg.jina2, les remplacer par des analogues pour votre système de template préféré vous le donnerait.

L'autre niveau d'intégration est de permettre à votre système de modèle d'être utilisé comme un «moteur de rendu». Cela permet, par exemple:

@bfg_view (= renderer "certains/parent/path.myt") def aview (demande): return { 'a': 1}

Pour ce faire, singe la fonction "renderer_factory" dans repoze.bfg.jinja2, puis demandez aux gens d'ajouter ce rendu dans leur configuration via "config.add_renderer (renderer_factory, '.myt')" (impérativement) ou en incluant le fichier ZCML livré avec votre paquet dans leur ZCML.