Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 22, 2007 08:05:29

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Создать контролер на лету

А вот можно ли сделать примерно так

class ParentController:

@expose()
def default(self, id):
child = ChildController(id)
#а здесь как нибудь продолжить разбор пути в созданном контролере


???



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#2 Сен. 22, 2007 09:50:01

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Создать контролер на лету

можно :)
можно даже создавать контролеры из описаний в БД, но это сильно усложнит поиск ошибок



Офлайн

#3 Сен. 22, 2007 10:32:15

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Создать контролер на лету

pythonwin
можно :)
Лаконично ;)
собственно интересовало, как продолжить траверсинг урла по созданному контролеру



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Сен. 22, 2007 12:42:34

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Создать контролер на лету

http://localhost:8080/?children=
from turbogears import controllers, expose
class ChildRoot(controllers.RootController):
def __init__(self, k='', **kw):
self.k = k
@expose(template=“test_dinamic.templates.welcome”)
def index(self, id=1, **kw):
import time
return dict(now=time.ctime())

class Root(controllers.RootController):
@expose(template=“test_dinamic.templates.welcome”)
def index(self, children = ):
children = eval(children)
for k in children:
if not getattr(self, k, False):
setattr(self, k, ChildRoot(k))
print
import time
return dict(now=time.ctime())



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version