2010-12-30 14 views
14

html şablonlama için Django kullanırken nasıl iyi html biçimlendirme biçimlendirmesi oluşturabilirim.django şablonları ile okunabilir html oluşturma

İçerik bloklarından yararlanmaya çalışıyorum. Ancak içerik blokları farklı şablonlarda farklı girinti düzeylerinde ortaya çıkıyor. İçerik bloklarını, birisinin html yazması isteniyormuş gibi girintili gösterilmesini nasıl sağlayabilirim.

Aynı sorunları yeni satırlarla yaşıyorum; Tüm blokları şablonda bir araya getirebilirim. Bu noktada html daha iyi görünüyor, ancak şablonlar sürdürülemez.

Sanırım soru django şablon sistemi ile nasıl güzel html biçimlendirme oluşturuyorsunuz?

Şimdiye kadar ki cevaplardan şaşırdım. Güzel biçimlendirilmiş HTML yardımcılarının ilgili CSS ve JavaScript'i yazarken buldum. İçeriği daha sonra eklemeyi kolaylaştırmanın yanı sıra.

+1

HTML düzeni neden önemlidir? –

+1

Tam tersini yapmayı tercih ederim, HTML'yi olabildiğince sıkı bir şekilde squash edin, böylece olabildiğince küçük karakterlere sahip olun. –

+0

@rebus: Anlaşmalı - daha küçük indirmeler daha hızlı. HTML ile uğraşmak için harcanan zaman gibi zaman harcanmış gibi görünüyor.Birincisi, gelişim için harcanan zaman. İkincisi, boşluğu aktaran zaman harcanıyor. Üçüncüsü, tüm değerli (ve anlamsız) boşlukları korumayı sürdürmek için bakımda harcanan zaman. –

cevap

14

Pyevolve konumundaki Christian S. Perone, exactly what you're looking for ürününü içermektedir. HTTPResponse nesnesini durdurmak ve BeautifulSoup aracılığıyla çalıştırmak için middleware kullanıyor.

Sitenizin hafif bir performans artışı yaşayacağını tahmin ediyorum. Bu ara katman yazılımını bir üretim sitesine dağıtmadan önce bazı ölçütler çalıştırmanızı öneririm.

0

Böyle µTidylib olarak tidier bir HTML yoluyla şablon motorun çıkışını çalıştırmak için önerilir.

1

HTML'nin okunabilirliği önemli değil. Django veya Rails gibi bir sistemde, HTML bir kaynak formatı değil, bir çıktı biçimidir. İnsanlar HTML'yi elle düzenlediklerinde, girinti ve aralıklarla ilgili endişe duyma hakkına sahiptirler, çünkü bu bir kaynak biçimidir ve bir başkası bunu gelecekte düzenlemelidir. Ancak şablonların çıktısı sadece şu: çıktı. Tarayıcı girintiyi umursamıyor. Bu noktada, HTML'yi okuyan kişiler, View - Source'a bakanlardır.

+0

Ve bunu yapan tek kişi muhtemelen OP'nin proje müdürüdür, şimdi gözlerini memnun etmek için birkaç bin dolar yatırım yapmaya istekli ;-) +1 –

+0

Bu, çıktılara hiçbir zaman şablonlara bakıp hata ayıklamadığınızı varsayar. –

0

, siz (.format ile Python'un üçlü tırnakla kullanabilirsiniz) içinde bir fonksiyon def:

def templated_string(context_dict): 
    return '''This is an example 
of a long string across multiple lines. 
It can be used to format {something} for 
{name}'s own purposes, even though 
it looks funny in code'''.format(**context_dict) 

Sonra templated_string({'name': 'rileymat', 'something': 'whatever you want'}) mantıklı şeyi yapar. Bu şekilde ham HTML üretebilirsiniz ... ki o zaman tam olarak istediğin boşluk var.

İlgili konular