# Prve interaktivne sedenie: Django Templates
# 
# Pouzitie: V existujucom django projekte
# treba spustit "manage.py shell". 
# To zabezpeci natiahnutie patricnych modulov.
# 
# =====================================================
# Najprv import:
from django.template import Template,Context
# Vytvorime nasu prvu Template
t=Template('{{pozdrav}}, {{koho}}')
print t
# Context sa vytvara zo slovnika:
c1=Context({'pozdrav':'ahoj','koho':'svet'})
print c1
# A mozeme dosadit
print t.render(c1)
# Template sa da znovupouzit v inom kontexte
# pri zmene Contextu ju teda netreba vytvarat znovu
c2=Context({'pozdrav':'ahoj','koho':'slnko'})
print t.render(c2)
# Context nie je slovnikom, ale umoznuje slovnikove
# operacie:
c2['pozdrav']='dovi'
print t.render(c2)
# Hodnota v slovniku nemusi byt retazec, ale aj napr.
# cislo:
c2['koho']=3.14
print c2
print t.render(c2)
# Nielen cislo, ale lubovolny objekt
# Definujme nejaku triedu
class Vec(object):
    def __init__(self,meno):
        self.meno=meno
    def __str__(self):
        # Prvy znak velkym pismenom
        return self.meno[0].upper()+self.meno[1:]

# Vytvorme instanciu
mes=Vec('mesiacik')
# print vola __str__:
print mes
# Vytvorme kontext, ktory obsahuje objekt triedy Vec
c3=Context({'pozdrav':'dobry vecer','koho':mes})
# a mozeme renderovat
print t.render(c3)



