Я использую Flask, mongoengine для проекта и пытаюсь заставить базовые вещи работать с http://docs.mongodb.org/manual/tutorial/write-a-tumblelog-application-with-flask-mongoengine/
После реализации всего, что указано выше, я добавил новое поле для «тегов» в сообщение, и когда я пытаюсь создать сообщение, мои теги не отображают поле ввода.
Любая помощь приветствуется.
Мой код и скриншот ниже
class Post(db.DynamicDocument):
created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
title = db.StringField(max_length=255, required=True)
slug = db.StringField(max_length=255, required=True)
comments = db.ListField(db.EmbeddedDocumentField('Comment'))
tags = db.ListField(db.StringField(max_length=30)) # New field I added
форма шаблона
{% macro render(form) -%}
<fieldset>
{% for field in form %}
{% if field.type in ['CSRFTokenField', 'HiddenField'] %}
{{ field() }}
{% else %}
<div class="clearfix {% if field.errors %}error{% endif %}">
{{ field.label }}
<div class="input">
{% if field.name == "body" %}
{{ field(rows=10, cols=40) }}
{% else %}
{{ field() }}
{% endif %}
{% if field.errors or field.help_text %}
<span class="help-inline">
{% if field.errors %}
{{ field.errors|join(' ') }}
{% else %}
{{ field.help_text }}
{% endif %}
</span>
{% endif %}
</div>
</div>
{% endif %}
{% endfor %}
</fieldset>
{% endmacro %}
код формы рендеринга
{% extends "admin/base.html" %}
{% import "_forms.html" as forms %}
{% block content %}
<h2>
{% if create %}
Add new Post
{% else %}
Edit Post
{% endif %}
</h2>
<form action="?{{ request.query_string }}" method="post">
{{ forms.render(form) }}
<div class="actions">
<input type="submit" class="btn primary" value="save">
<a href="{{ url_for("admin.index") }}" class="btn secondary">Cancel</a>
</div>
</form>
{% endblock %}
wtf
, который вы использовали для определения формы? Ваша проблема не в определении вашей модели, а в форме и в том, как эта форма отображается, поэтому код для этого важен. - person Doobeh   schedule 01.08.2013