Как сделать 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()
Я думал, что "я" имеет правильные переменные, но, видимо, нет.