Flask,MongoEngine,WTForms-表单呈现错误

Flask,MongoEngine,WTForms-表单呈现错误,flask,mongoengine,wtforms,Flask,Mongoengine,Wtforms,我有以下型号: class Post(Document): body = db.StringField(required=True) author = db.StringField(verbose_name="Author", max_length=255, required=True) created_at = db.DateTimeField(default=datetime.datetime.now, required=True) comments = db

我有以下型号:

class Post(Document):
    body = db.StringField(required=True)
    author = db.StringField(verbose_name="Author", max_length=255, required=True)
    created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
    comments = db.ListField(db.EmbeddedDocumentField('Comment'))
以下观点:

from flask.ext.mongoengine.wtf import model_form

@app.route('/')
def home():
    form = model_form(Post, exclude=('created_at', 'comments'))
    return render_template('home.html', form=form)
我不知道如何在模板中呈现此表单。我试过两件事:

{% for field in form %}
    {{ field }}
{% endfor %}
这会产生以下错误:

TypeError: 'FormMeta' object is not iterable
我也试过这个:

{{ form.body() }}
有不同的错误:

AttributeError: 'UnboundField' object has no attribute '__call__'
{{form.body}}呈现如下

<UnboundField(TextAreaField, (), {'default': None, 'validators': [<wtforms.validators.Required object at 0x7f63804d0fd0>], 'description': '', 'filters': [], 'label': None})>

表单不可编辑。错误中提到了这一点

我没有使用model_form,但我认为
{{{form.field_name}}
应该可以工作


希望能有帮助。

表单不适用。错误中提到了这一点

我没有使用model_form,但我认为
{{{form.field_name}}
应该可以工作


希望有帮助。

您需要启动以下表单:

from flask.ext.mongoengine.wtf import model_form

@app.route('/')
def home():
    form = model_form(Post, exclude=('created_at', 'comments'))(request.form)
    return render_template('home.html', form=form)

可以找到使用相同堆栈的示例项目:

您需要启动表单:

from flask.ext.mongoengine.wtf import model_form

@app.route('/')
def home():
    form = model_form(Post, exclude=('created_at', 'comments'))(request.form)
    return render_template('home.html', form=form)

可以找到使用相同堆栈的示例项目:

是否
{{{field()}
抛出错误?还有wtf/flask/mongoenginet的哪些版本此代码在此语句之前失败,{%for form%}{%endfor%}相同的东西flask==0.10.1 pymongo==2.6 mongoengine==0.8.4 WTForms==1.0.4 flask wtf==0.9.1 flask mongoengine==0.7.0
{field()}
是否抛出错误?还有wtf/flask/mongoenginet的哪些版本此代码在此语句之前失败,{%for form%}{%endfor%}执行相同的操作flask==0.10.1 pymongo==2.6 mongoengine==0.8.4 WTForms==1.0.4 flask wtf==0.9.1 flask mongoengine==0.7.0根据文档()和我看到的所有示例,它都是可移植的。{{form.body}}根据文档()和我所看到的所有示例,它的呈现方式如下“”。{{form.body}}呈现如下“”感谢这项工作。你知道为什么它会自动将db.StringField转换为TextArea输入吗?@Bitmap我觉得这也很奇怪,因为它可以工作。你知道为什么它会自动将db.StringField转换为TextArea输入吗?@Bitmap我觉得这也很奇怪