Given this example Flatland schema,
from flatland import Form, String class SignInForm(Form): username = String password = String
The correct way to create an element instance from a Flask request is as follows:
if request.method in ['POST', 'PUT']: form = SignInForm.from_flat(request.form.items(multi=True))
A little wordy, so you might want to write a little helper function:
def form_from_request(schema): return schema.from_flat(request.form.items(multi=True))
Now you can simply do this in a view:
if request.method in ['POST', 'PUT']: form = form_from_request(SignInForm)
An alternative could be to subclass Form and add a validate_on_submit method similar to what Flask-WTF does, so that you can refactor out the request.method check.
This snippet by Dag Odenhall can be used freely for anything you like. Consider it public domain.