使用Mako的Turbogears中的Sprox表单仅显示纯文本
我正在使用 Turbogears 2.1 生成一个 Sprox 表单,并试图在 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。
1 个回答
3
我搞明白了。我要把这个变量通过'n'这个mako过滤器,这样就能去掉mako自动对生成的html应用的任何过滤。也就是说:
${tmpl_context.register_form(value=value) | n}