Форма Sprox с Turbogears, использующая Mako, отображает только обычный текст
-
20-09-2019 - |
Вопрос
Я создаю форму Sprox с помощью Turbogears 2.1 и пытаюсь отобразить ее в шаблоне Mako.Вот мой код:
Чтобы определить форму:
class NewUserForm(AddRecordForm):
__model__ = User
newuserform = NewUserForm(DBSession)
Определение контроллера, которое назначает форму и вызывает шаблон:
@expose('limelight.modules.users.templates.register')
def register(self, **kw):
tmpl_context.register_form = newuserform
return dict(value=kw)
И соответствующий код шаблона:
${tmpl_context.register_form(value=value)}
Проблема в том, что HTML-код отображается на странице в виде обычного текста, а не отображаемого HTML.
Решение
Разобрался в этом.Я должен передать переменную через фильтр 'n' mako, чтобы удалить все автоматические фильтры, которые mako применяет к сгенерированному html.Итак:
${tmpl_context.register_form(значение=value) | n}
Не связан с StackOverflow