======= Editace 2 ======
http://kmlinux.fjfi.cvut.cz/~culik/foto/tg-foto04.tgz
Přenést obrázky z http://kmlinux/~culik/foto do adresáře static
==== Soubor controlers.py ====
from turbogears import controllers, expose, flash
from turbogears import redirect
from turbogears import validate, widgets, validators, error_handler
from foto import model
from model import Fotografie
from turbogears.toolbox.catwalk import CatWalk
import logging
log = logging.getLogger("foto.controllers")
class Policka(widgets.WidgetsList):
nazev = widgets.TextField(validator=validators.NotEmpty)
soubor = widgets.TextField(validator=validators.NotEmpty)
# stejna jmena policek jako v databazi
formular = widgets.TableForm ( fields=Policka(),
submit_text="Ulozit" )
class Root(controllers.RootController):
catwalk = CatWalk(model)
@expose(template="foto.templates.uvod")
def index(self):
import time
log.debug("*** Nekdo navstivil fologalerii ***")
flash("Fotografie, verze 01")
return dict(current_time=time.ctime())
@expose(template="foto.templates.obsah")
def obsah(self):
# seznam fotografii
return dict (snimky=Fotografie.select ())
@expose(template="foto.templates.add")
def add(self):
# formular pro vlozeni nove radky
return dict ()
@expose()
def insert(self, param_nazev, param_soubor):
# vlozeni nove radky
Fotografie (nazev=param_nazev, soubor=param_soubor)
raise redirect ("/obsah");
@expose(template="foto.templates.edit")
def edit(self, id):
# formular pro editovani radky
return dict (snimek=Fotografie.get(id))
@expose()
def store(self, **args):
# editovani udaju v databazi
param_id=args["param_id"]
param_nazev=args["param_nazev"]
param_soubor=args["param_soubor"]
snimek=Fotografie.get(param_id)
snimek.nazev = param_nazev
snimek.soubor = param_soubor
raise redirect ("/obsah");
@expose(template="foto.templates.modify")
def modify(self, id):
# formular pro editovani radky
snimek=Fotografie.get(id)
cilova_adresa="/update/" + str(id)
# nezpomenout lomitko na zacatku
return dict(okno=formular,
hodnoty=snimek,
cil=cilova_adresa)
@expose()
@error_handler(modify)
@validate(form=formular)
def update(self, id, **args):
# editovani udaju v databazi
print 'update: id=', id, 'args=', args
from sqlobject import SQLObjectNotFound
try:
snimek=Fotografie.get(id)
snimek.set(**args)
except SQLObjectNotFound:
Fotografie(**args)
raise redirect("/obsah")
==== Soubor template/modify.kid ====
Fotografie - uvod
${ okno (value=hodnoty, action=cil) }
==== Soubor template/obsah.kid ====
editace |