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

  • HTC Tutorials

    HTC Tutorial

    21 EYLÜL 2010
  • International Secret Agents Concerts

    Internationa

    2 Aralık 2008
  • mist64

    mist64

    30 Mayıs 2006