= Aplikácie = Djangovské projekty by mali byť členené na aplikácie. Doteraz sme pracovali naplocho na úrovni projektu, bez členenia. Aplikácia je relatívne samostatná oblasť funkčnosti projektu, ktorá žije vo vlastnom adresári. Pri správnom návrhu by aplikácie mali byť znovupoužiteľné v iných projektoch. Typické príklad aplikácie je diskusné fórum alebo anketa. Aplikácia môže (ale nemusí) definovať vlastné views, modely alebo šablóny. Projekt je množina aplikácií, ktoré zdieľajú databázu a nastavenia {{{settings.py}}}. Django obsahuje v normálnej inštalácii aplikáciu pre správu modelov. Ďalšie aplikácie sú voľne dostupné na internete napríklad na http://djangoplugables.com/ . == Ako začať == Predpokladajme, že sme vytvorili projekt menom {{{myproject}}}. Ak chceme v rámci existujúceho projektu vytvoriť novú aplikáciu, stačí napísať {{{ $ ./manage.py startapp meno_aplikacie }}} Vznikne podadresár {{{myapp:}}} {{{ $ ls myapp __init__.py models.py views.py }}} == Čo je v adresári novej aplikácie == || {{{__init__.py}}} || Tento súbor zabezpečí, že budeme môcť robiť veci ako {{{import myproject.myapp.views}}}.|| || {{{views.py}}} || Sem patria views. || || {{{models.py}}} || Sem patria modely || == Oboznamovanie djanga s existenciou aplikácie == Ak chceme, aby django o našej aplikácii vedel, musíme teraz do {{{settings.py}}} doplniť našu aplikáciu do {{{INSTALLED_APPS}}}. {{{#!python INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'myproject.myapp' ) }}} Je možné aj zakomentovať tie z {{{django.contrib.*}}} aplikácií, ktoré nás nezaujímajú. Potom sa nebudú vytvárať tabuľky pre ich modely pri {{{./manage.py syncdb}}}. == URL pre aplikáciu == {{{views.py}}} teraz môžeme v globálnom {{{urls.py}}} používať pomocou {{{#!python import myproject.myapp.views }}} a potom na tieto views odkazovať v rámci {{{patterns}}}. Niekedy je ale lepšie aplikáciu odpútať od globálneho kontextu tak, aby mala vlastné {{{urls.py}}} vo svojom adresári. V globálnom {{{urls.py}}} potom zahrnieme pomocou {{{include}}}: {{{#!python urlpatterns=patterns('', (r'^myapp/',include('myproject.myapp.urls')), ) }}} Všimnite si, že {{{include}}} má ako parameter reťazec. V {{{urls.py}}} v adresári aplikácie {{{myapp}}} potom definujeme premennú {{{urlpatterns}}}, napr. {{{#!python urlpatterns=patterns('', (r'^myview/',views.myview), ) }}} URL k view je potom {{{ http://.../myapp/myview }}}