Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2007 12:17:29

dem
От:
Зарегистрирован: 2006-06-02
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

web.py + objects

Уморило постоянно переопределять одни и те же методы во всех своих классах-страницах (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)

Офлайн

#2 Дек. 4, 2007 13:21:51

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

web.py + objects

не парь мозги, у тебя в не везде оди и тотже гет будет?

class index(Page):
__init__(self):
message = ‘Hello Pythonista’
content = ‘<h1>Hy from subclass</h1>’

но надо будет все пеерменные писать в классе page типа message=“” и тп

имхо ещё уродливей чем было

Офлайн

#3 Дек. 4, 2007 13:28:19

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

web.py + objects

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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version