SORU
13 Temmuz 2012, Cuma


Standart kütüphane kullanarak Git şablonları iç içe geçmiş olması mümkün mü? (Google App Engine)

Nasıl iç içe alabilirim Jinja gibi şablonlar python çalışma zamanı vardır. TB yani nasıl şablonları bir sürü temel şablonları, sadece temel şablonlar blok dosyalama, Jinja gibi bir django şablonları devralmak zorunda mıyım nedir. Sadece standart kütüphane html/template kullanarak mümkün.

Eğer böyle bir ihtimal varsa, ne alternatifler vardır. Bıyıklı bir seçenek gibi görünüyor ama ben o bağlam vb kaçan hassas gibi html/template o güzel ince özellikleri üzerinde eksik olurdu.? Diğer alternatifler orada ne var?

(Ortamı: Google App Engin, Gitmek zamanı v1, Dev - Mac OS X lion)

Okuduğunuz için teşekkür ederim.

CEVAP
13 Temmuz 2012, Cuma


Evet mümkündür. html.Template aslında şablon dosyaları bir dizi. Eğer bu kümesinde tanımlı bir bloğu çalıştırmak için, diğer bloklar bu kümesinde tanımlı bulunmaktadır.

Eğer bu şablon setleri haritası oluşturmak, temelde / Django sunmaktadır Jinja aynı esnekliği var. Tek fark html/template paket dosya sistemine doğrudan erişim var, ve kendi şablonları ayrıştırmak oluşturmak zorunda.

İki farklı sayfaları ile aşağıdaki örnek ("" ve hem devralan"") other.html"": . base.htmlindex.html düşünün

// Content of base.html:
{{define "base"}}<html>
  <head>{{template "head" .}}</head>
  <body>{{template "body" .}}</body>
</html>{{end}}

// Content of index.html:
{{define "head"}}<title>index</title>{{end}}
{{define "body"}}index{{end}}

// Content of other.html:
{{define "head"}}<title>other</title>{{end}}
{{define "body"}}other{{end}}

Ve şablon aşağıdaki Haritayı göster ayarlar:

tmpl := make(map[string]*template.Template)
tmpl["index.html"] = template.Must(template.ParseFiles("index.html", "base.html"))
tmpl["other.html"] = template.Must(template.ParseFiles("other.html", "base.html"))

Şimdi senin "" tmpl["index.html"].Execute("base", data) ve seni arayarak Sayfa "" tmpl["other.html"].Execute("base", data) çağırarak sayfa. other.html hale getirebilir index.html oluşturabilirsiniz Bazı hileler ile (şablon dosyaları tutarlı bir adlandırma kuralı gibi), mümkün tmpl harita otomatik olarak oluşturmak için.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • buttheadgsxr1000

    buttheadgsxr

    24 Ocak 2008
  • foreignimage

    foreignimage

    13 HAZİRAN 2006
  • xdadevelopers

    xdadeveloper

    25 Aralık 2009