0

我正在用 django、flask、金字塔框架尝试 FormAlchemy。使用 SQLAlchemy==0.7 和 FormAlchemy==1.4.2。遵循在线提供的文档。但是遇到了一些奇怪的问题。确实设法解决了问题,但不明白为什么会出现渲染问题。

传给form = FieldSet(User).render()jinja2或mako渲染器后,总自动生成的html表单应该在页面中渲染,不包括标签。但是,模板变量${form}{{ form }}不呈现为表单。相反,它们是纯文本!

这是视图:

def index():
    import formalchemy
    from models import User
    fs = formalchemy.FieldSet(User)
    #fs.rebind(with_prefix=True)
    opts=[('Google','1'),('Yahoo','2'),('MSN','3')]
    fs.configure(options=[
        fs.name.label('Full Name'),
        fs.email.dropdown(opts)
    ])

    form = fs

    return render_template('form.html', form=form)

这是模板:

{{ form.render() }}

这是输出..!!:

在此处输入图像描述

不应该是表格吗?!...

这个问题在 FormAlchemy==1.5.5 的最新版本中没有显示出来......但它还有另一个问题。我使用的电子邮件字段选项是一个测试。FormAlchemy==1.5.5 不支持或适当地呈现选项选择字段....这就是我选择版本 1.4.2 的原因。

有人有什么建议吗?

4

1 回答 1

-1

Try {{ form.render()|e }}

Read more http://jinja.pocoo.org/docs/dev/templates/#working-with-manual-escaping

于 2015-03-21T10:19:46.733 回答