使用Mako的Turbogears中的Sprox表单仅显示纯文本

2 投票
1 回答
617 浏览
提问于 2025-04-15 17:07

我正在使用 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}

撰写回答