txTemplate est un module Python qui fournit des adaptateurs pour quelques moteurs de modèles populaires pour les rendre facilement appelable et utilisable dans Twisted Web.
txTemplate utilise zope.interface de fournir un chargeur compatible et l'interface de modèle pour chaque moteur de template.
Moteurs modèles pris en charge
- Clearsilver
- Genshi
- Jinja2
Mise en route
Tout ce que vous devez faire pour utiliser txTemplate dans torsadée est:
- Importer
- Créer un chargeur fait à votre répertoire de templates
- Charger un modèle avec ledit chargeur
- Appel template.render, fixez les rappels à l'rendu différé (si désiré) et retourner le différé de et de votre twisted.web.resource.Resource render_ * méthodes.
Voici un exemple de code d'une ressource Web qui utilise Twisted txTemplate de rendre une belle modèle Genshi dire Bonjour tout le monde en HTML:
os d'importation
importation de internet twisted.application
du réacteur d'importation de twisted.internet
à partir de ressources d'importation de twisted.web
de serveur d'importation de twisted.web
txtemplate d'importation
Template_dir = os.path.join (os.path.dirname (os.path.abspath (__ FILE__)),
& nbsp; "templates")
classe HelloWorld (resource.Resource):
& Nbsp; def __init __ (self):
& Nbsp; resource.Resource .__ init __ (self)
& Nbsp; self.loader = txtemplate.GenshiTemplateLoader (template_dir)
& Nbsp; def getChild (self, nom, demande):
& Nbsp; retourner auto
& Nbsp; def render_GET (auto, demande):
& Nbsp; template_name = "hello.xhtml"
& Nbsp; template = self.loader.load (template_name)
& Nbsp; context = {"voeux": "Bonjour",
& Nbsp; "greetee": "Monde"}
& Nbsp; cb def (de contenu):
& Nbsp; request.write (contenu)
& Nbsp; request.setResponseCode (200)
& Nbsp; request.finish ()
& Nbsp; d = template.render (** contexte)
& Nbsp; d.addCallback (cb)
& Nbsp; retourner server.NOT_DONE_YET
place = server.Site (HelloWorld ())
reactor.listenTCP (8888, le site)
reactor.run ()
Cet exemple est inclus dans txtemplate / examples / txweb.py et le modèle de root.xhtml est en txtemplate/examples/templates/root.xhtml.
Requirements:
- Python
Commentaires non trouvées