txTemplate birkaç popüler şablon motorları için adaptörler Twisted Web içinde onları kolayca çağrılabilir ve kullanılabilir hale sağlayan bir Python modülü.
txTemplate her şablon motoru için tutarlı bir yükleyici ve şablon arayüz sağlamak için zope.interface kullanır.
Desteklenen Şablon Motorları
- ClearSilver
- Genshi
- Jinja2
Başlarken
Eğer gerçekten bükülmüş olduğu içinde txTemplate kullanmak için yapmanız gereken tek şey:
- Içe
- Şablon dizinine işaret bir yükleyici oluşturmak
- Dedi yükleyici ile bir şablon yüklemek
- Çağrı template.render, render (istenirse) ertelenmiş geri aramalar takın ve gelen ve twisted.web.resource.Resource render_ * yöntemleri ertelenmiş dönün.
İşte HTML Hello World söylemek için güzel bir Genshi şablonu işlemek için txTemplate kullanan bir Twisted Web kaynağı bir kod örneği var:
ithalat os
twisted.application ithalat internetten
twisted.internet alma reaktörden
twisted.web ithalat kaynağından
twisted.web ithalat sunucusundan
ithalat txtemplate
TEMPLATE_DIR = os.path.join (os.path.dirname (os.path.abspath (__ FILE__)),
& Nbsp; "şablonlar")
sınıf HelloWorld (resource.Resource):
& Nbsp; def __init __ (self):
& Nbsp; resource.Resource .__ init __ (self)
& Nbsp; self.loader = txtemplate.GenshiTemplateLoader (TEMPLATE_DIR)
& Nbsp; def GetChild (öz, isim, istek):
& Nbsp; kendi kendine geri dönüş
& Nbsp; def render_GET (kendini, istek):
& Nbsp; template_name = "hello.xhtml"
& Nbsp; şablonu = self.loader.load (template_name)
& Nbsp; bağlam = {"tebrik": "Merhaba",
& Nbsp; "greetee": "Dünya"}
& Nbsp; def cb (içeriği):
& Nbsp; request.write (içerik)
& Nbsp; request.setResponseCode (200)
& Nbsp; request.finish ()
& Nbsp d = template.render (** bağlam)
& Nbsp; d.addCallback (cb)
& Nbsp; server.NOT_DONE_YET dönüş
site = server.Site (HelloWorld ())
reactor.listenTCP (8888, sitesi)
reactor.run ()
Bu örnek txtemplate / örnekler / txweb.py dahil ve root.xhtml şablonu içinde olan txtemplate/examples/templates/root.xhtml.
Requirements:
- Python
Yorum Bulunamadı