Forma sprox com turbogears, usando mako, exibe apenas texto simples
-
20-09-2019 - |
Pergunta
Estou gerando um formulário SPROX com Turbogears 2.1 e tentando exibi -lo em um modelo Mako. Aqui está o meu código:
Para definir o formulário:
class NewUserForm(AddRecordForm):
__model__ = User
newuserform = NewUserForm(DBSession)
A definição do controlador que atribui o formulário e chama o modelo:
@expose('limelight.modules.users.templates.register')
def register(self, **kw):
tmpl_context.register_form = newuserform
return dict(value=kw)
E o código do modelo relevante:
${tmpl_context.register_form(value=value)}
O problema é que o código HTML é exibido como texto simples na página, não renderizado HTML.
Solução
Descobriu isso. Eu tenho que passar a variável através do filtro 'n' mako para remover quaisquer filtros automáticos que mako se aplique ao HTML gerado. Então:
$ {tmpl_context.register_form (value = value) | n}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow