Форма Sprox с Turbogears, использующая Mako, отображает только обычный текст

StackOverflow https://stackoverflow.com/questions/1919833

Вопрос

Я создаю форму 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}

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top