WTForms имеет расширение GAE, которое может использоваться для создания форм из моделей и моделей из форм.
С WTForms, ваше поле формы HTML может быть создан для вас, но мы позволяют настроить его в шаблонах. Это позволяет поддерживать разделение кода и презентации и сохранять эти беспорядочные параметры из вашего кода на Python. Поскольку мы стремимся к свободному соединению, вы должны иметь возможность делать это в любом шаблоном двигателя, который вам нравится.
http://wtforms.simplecodes.com/docs/1.0.2/ext.html
wtforms.ext.appengine.db.model_form(model, base_class=Form, only=None, exclude=None, field_args=None, converter=None)
Создает и возвращает динамический класс wtforms.Form для данного db.Model класса. Класс формы может использоваться как он или служить базой для классов расширенной формы , которые затем могут смешивать немодельные связанные поля, подформы с другими формами моделей, среди прочих возможностей.
Создание модели, основанной на форме, включает в себя создание объекта формы, а затем передачу данных POST.
http://wtforms.readthedocs.org/en/latest/forms.html#the-form-class
formdata
- Используется для передачи данных, поступающих от конечного пользователя, как правило, request.POST или эквивалент. formdata должен быть своего рода оболочкой запроса-данных, которая может получить несколько параметров из формы ввода , а значения - строки Юникода, например. Werkzeug/Django/WebOb MultiDict
И есть аналогичный вопрос здесь: WTForms error:TypeError: formdata should be a multidict-type wrapper
например
def post(self):
form = model_form(Ticket)
form_object = form(formdata=self.request.POST)
from some random example I just found.
Только учтите, что если вы ожидаете, чтобы сделать статистику с ответами (средние, суммы и т.д. от значения столбца), вы можете быть лучше использовать облако SQL вместо хранилища данных. В противном случае вам придется иметь дело с агрегированием данных вручную и с длинными результатами (тайм-аут от переднего конца при его обработке и т. Д.) –
@Paul Collingwood. Хорошо, спасибо.Если я правильно ее понимаю, model_form используется для создания формы из модели Datastore. Что мне нужно сделать, чтобы сделать это наоборот? (Создание сущности из опубликованных данных) – fedorSmirnov