El formulario WTforms no se envía pero no genera errores de validación

Estoy tratando de obtener archivos subidos conflask-uploads trabajando y corriendo en algunos inconvenientes. Te mostraré miflask ver la función, el html y espero que alguien pueda señalar lo que me estoy perdiendo.

Básicamente lo que sucede es que presento el formulario y falla elif request.method == 'POST' and form.validate(): Compruebe en la función de vista. Se salta para mostrar la plantilla. wtforms no me está echando ningún error en el formulario, así que me pregunto por qué está fallando esa afirmación.

¿Qué estoy mirando demasiado?

Configurando las cargas del matraz:

# Flask-Uploads
photos = UploadSet('photos',  IMAGES)
configure_uploads(app, (photos))

Ver:

def backend_uploadphoto():
    from Application import photos
    from Application.forms.backend import AddPhotoForm

    clients = Client.query.all()
    events = Event.query.order_by('date').all()

    form = AddPhotoForm(request.form, csrf_enabled=True)

    if request.method == 'POST' and form.validate():
        from uuid import uuid4

        uuid = uuid4()
        filename = '{0}.jpg'.format(uuid)

        photo = Photo(uid=uuid, client=request.form['client'], event=request.form['event'])

        photofile = photos.save(request.files.get('photo'), photo.filename)

        return redirect(url_for('backend'))

    return render_template('backend/addphoto.html', form=form, clients=clients, events=events)

Formar:

class AddPhotoForm(Form):
    photo = FileField('Photo')
    client = IntegerField('Client:')
    event = IntegerField('Event:')

HTML:

<form action="{{url_for('backend_uploadphoto')}}" method="post">
        <p>
            {{form.client.label}}
            <select name="client">
                {% for client in clients %}
                <option value="{{client.id}}">{{client.fullname}}</option>
                {% endfor %}
            </select>
            {{form.client.errors}}
        </p>

        <p>
            {{form.event.label}}
            <select name="event">
                {% for event in events %}
                <option value="{{event.id}}">{{event.name}}</option>
                {% endfor %}
            </select>
            {{form.event.errors}}
        </p>

        <p><label for="photo">Photo:</label>{{form.photo}} <input type="submit" value="Upload"> {{form.photo.errors}}</p>
    </form>

Respuestas a la pregunta(1)

Su respuesta a la pregunta