Как сделать Zope DTML из REPL

Как вы визуализируете Zope DTML из REPL скажем без объекта папки или чего-то подобного для тестового примера?

У меня есть файл с именем /tmp/tmp.dtml со следующим содержимым:

<dtml-var test>

Я мог бы получить это далеко:

from AccessControl import ImplC as impl
from App.special_dtml import DTMLFile

#globals has test variable define if that helps?
dtml_page = DTMLFile('/tmp/tmp',globals())
dtml_page() give "None\n"

Как ввести правильное пространство имен в объект DTMLFile или во время вызова?

1 ответ

Это похоже на работу. Я хотел издеваться без папки, хотя.

class Test(Folder):
    test = "World"
    dtml = DTMLFile('/tmp/tmp')
dtmlobj = Test()
dtmlobj.dtml()

Класс, унаследованный от Folder, кажется здесь важным по непонятным причинам?

Я не понимаю, почему Test.test, где Test наследуется от папки для рендеринга. Это какой-то тип соглашения Zope?

Я старался

dtml = DTMLFile('/tmp/tmp') 
setattr(dtml,'test','foo') 
dtml.render()

Я думал, что "я" имеет правильные переменные, но, видимо, нет.

Другие вопросы по тегам