【发布时间】:2013-04-30 15:58:57
【问题描述】:
有问题的代码:
from flask import Blueprint, render_template, abort
from flask.ext.wtf import Form
import os
from jinja2 import TemplateNotFound
from models import Member
from wtforms.ext.sqlalchemy.orm import model_form
@simple_page.route('/register')
def register():
form = model_form(Member, Form)
return render_template('register.html', form=form, name="bad")
class Member(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable=False)
email = db.Column(db.String(50), nullable=False, unique=True)
在我看来:
<p class="txt11 colorb">
{{ form.name }}
</p>
这会输出<UnboundField(TextField, (), {u'default': None, u'filters': [], u'validators': [<wtforms.validators.Required object at 0x7f62f59b5590>, <wtforms.validators.Length object at 0x7f62f59b55d0>]})>,而不是实际的字段。如何使用 wtform 获得实际的表单/字段?
【问题讨论】:
-
你能用你正在使用的导入更新你的问题吗?
-
我已经添加了导入
-
你从哪里导入
model_form? -
试试改成
form = model_form(Member, base_class=Form)我相信你有版本问题。 -
我已经添加了,但它仍然不起作用。我的 model_form 是 wtforms 的一部分而不是 flask ext 的一部分可以吗?