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

  • LAHWF

    LAHWF

    5 Kasım 2009
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013
  • WiseOwlTutorials

    WiseOwlTutor

    21 EKİM 2011