Форум сайта python.su
Уморило постоянно переопределять одни и те же методы во всех своих классах-страницах (GET, POST в частности).
набросал вот такую конструкцию:
class Page:
def GET(self):
return self.my_render(self.message, self.content)
def my_render(self, msg, content)
print my_template % (msg, content)
****
class index(Page):
message = ‘Hello Pythonista’
content = ‘<h1>Hy from subclass</h1>’
и так далее.
Все хорошо, быстрее даже работать начал НО:
Появилась видимость кеширования страницы. Вот как при старте страницы были сгенерированны, вот в таком виде они и висят не смотря на все происходящее с формами и остальными изменениями на сайте.
Спинным мозгом предполагаю что надо чет делать с Page - но что? пробовал завернуть все методы в @staticmethod - толку ни какого :(
Отредактировано (Дек. 4, 2007 12:19:02)
Офлайн
не парь мозги, у тебя в не везде оди и тотже гет будет?
class index(Page):
__init__(self):
message = ‘Hello Pythonista’
content = ‘<h1>Hy from subclass</h1>’
но надо будет все пеерменные писать в классе page типа message=“” и тп
имхо ещё уродливей чем было
Офлайн
import web
import time
urls = (
‘/’, ‘index’)
class Page:
data = “ ”
def GET(self):
web.output(self.data)
class index(Page):
def __init__(self):
self.data = ‘Hello Pythonista ’ + str(time.ctime())
if __name__ == “__main__”:
web.run(urls, globals())
эм мля, в плане ООП вроде де-то так должно быть. но на практике веб пу выдаёт болт =\
upd: чёрт self. пропустил) терь всё работает, спасибо пиранье за подсказку В)
Отредактировано (Дек. 4, 2007 13:33:19)
Офлайн