2013-04-10 2 views
3

Если у Вас есть ситуация, когда выражение TAL не работает (пример ниже):Breakpoints в выражение/шаблон кода в Plone

context.restrictedTraverse('@@contenthistory').fullHistory()[0]['comments'] 

Какие варианты существуют для отладки этой ситуации. А именно, можно один ставить точки останова

шаблоны
  • TAL

  • TAL выражение

  • Любые выражения (например portal_actions)

+0

Дополнительная информация: https://github.com/collective/collective.developermanual/issues/174 –

+0

Нет, не существует никаких средств отладки доступный для TAL, кроме разбивки на составляющие компоненты и «печати» значений. –

+0

Это конкретное выражение не работает из-за «неавторизованного» исключения в «context.restrictedTraverse (« @@ contenthistory »)». включение verbose-security не дает никакой дополнительной информации о том, почему. – djay

ответ

3

Если вы используете Хамелеон (вы должны!) вы можете использовать это:

<?python import pdb; pdb.set_trace() ?> 

Вещи вы обычно ищите не будут доступны в «econtext»:

econtext['context'] 
econtext['request'] 
+0

Вы используете Chameleon с Plone? :) –

+2

https://pypi.python.org/pypi/five.pt – zupo

+0

Но это работает? Почтовый список emailz или блог poztz или не произошло! :) –