= Hello, world v4 = V tejto chvíli to vyzerá tak, že každá view má obvykle svoj súbor so šablónou. Naozaj to tak aj je. Doterajší prístup však vedie k nemilému javu. HTML stránky v rámci jednej site obvykle obsahuju kopu spoločného kódu. To by viedlo k duplicite kódu v súboroch so šablónami, čo je zjavne zle; pri zmene spoločného kódu to musíme meniť na viacerých miestach naraz. Nástroj na riešenie tohto problému je tag {{{ {% extends "..." %} }}}. Ideme upraviť verziu 3. Chceme ju rozšíriť o pozdrav goodbye. Obsah adresára templates je takýto (nie txt ale html) {{ attachment:common.txt }} {{ attachment:hello.txt }} {{ attachment:goodbye.txt }} Logika veci je zrejmá. Naše views budú používať v skutočnosti šablóny {{{hello.html}}} a {{{goodbye.html}}}. Spoločná časť je vytiahnutá v {{{common.html}}}, ktorú ostatné dve subšablóny dedia cez {{{ {% extends "common.html"%} }}}. {{{common.html}}} má v sebe vyznačený {{{block}}} menom {{{pozdrav}}}, ktorý jej podšablóny preťažujú. Takto je možné (a žiadúce) vytvoriť celú hierarchiu šablón. {{ attachment:views.py }} Ešte zostáva pridať ďalšiu položku do {{{urlpatterns}}}: {{{#!python (r'^goodbye/(.*)/$', views.goodbye), }}} Vyskúšajme: * http://localhost:8000/hello/darling/ * http://localhost:8000/goodbye/cruel%20world/ Celý projekt: [[ attachment:hello_v4.tar.gz ]] Pre poriadok ešte uvediem, že podobné veci je možné dosiahnuť pomocou tagu {{{ {% include "..." %} }}}.