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

  • DroidModderX ROOT Master

    DroidModderX

    14 ŞUBAT 2011
  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009