6 komentářů k článku web.py – šablonovací systém:

  1. golf

    nejsnadnější syntaxe
    Nikdy jsem nepochopil, proč většina frameworků používá pro jednoduchý výpis proměnné poměrně složitou syntaxi jako Jinja {{ foo }}, Mako ${name}.

    Proti tomu obyčejné $name v templatoru je geniálně jednoduché a o 2 až tři znaky kratší. (A takové PHP-intuitivní, vždyť vlastně i to PHP je (mělo být) spíš šablonovací systém, než programovací jazyk :-) )

    Opravdu by mne zajímalo, co autory většiny frameworků vede k tomu volit tak složitou syntaxi?

    1. Jakub Kulhan

      Re: nejsnadnější syntaxe
      Důvod bych viděl v zjednodušení implementace – ať už vývojář sprcá template engine pár regulárními výrazy, nebo použije opravdový lexer a klon YACCu, když je jasně určený levý a pravý delimiter, snadněji se to parsuje. A že jsou zrovna tolik oblíbené kudrnaté závorky, je tím, že se v HTML moc nevyskytují.

    1. golf

      Re:
      Jde spíš jen o syntaxi, Python se dá všelijak přiohnout.

      Viz třeba způsob jakým Templetor volá konkrétní šablonu render.informace.kontakt() namísto obvyklého render("informace/kontakt.html"). Konkrétně za tímto musí být „nadbytečný“ kód navíc, který pomocí getattr slepí cestu k šabloně, ale to by snad nemuselo až tak vadit, při použití dobrého cachování.

      Trochu jsem se chtěl na web.py podívat, ale verze pod Python 3 zlobí, respektive řekl bych, že vůbec není udělaná, jsou tam nefunkční importy. Zkoušel jsem to opravit, ale vzdávám to. Škoda, docela zajimavý framework.

  2. tomas

    Drobné překlepy?
    Díky za další díl o web.py frameworku. Mám jen dva hnidopišské postřehy :-)

    • v odstavci „Základní šablona“ ve větě „…proměnnou title získanou z objektu content využijeme pro vypsání titulku stránky“ by vzhledem k dalšímu kódu měl být název proměnné titulek;
    • v odstavci „Seznamy v proměnných“ sladit názvy souborycss a csssoubory.

    Ale jinak dobrá práce!

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=10544