Как передать объект между двумя функциями в Flask? - PullRequest
0 голосов
/ 01 мая 2020

вот мой не работающий код для передачи объекта между двумя функциями в Flask: файл rout.py:

@app.route('/image',methods=['GET', 'POST'])
def image():
    camera=session.get('camera', None)
    if request.method == 'POST':
        if request.form.get('Next') == 'Next':
            return render_template('debut.html', title="debut de l'entrainement pour une seule camera")
    response=make_response(camera.get_frame_by_id())
    response.headers['Content-Type'] = 'image/png'
    return response



@app.route('/train',methods=['GET', 'POST'])
def train():
    form = TrainForm()
    if form.validate_on_submit():
        result=enregitrement_local(form.File.data,form.modelname.data)
        if result == 1:
            camera=traiter_video(form.modelname.data,form.File.data.filename)
            session['camera'] = camera
            #return url_for('image', camera=camera)
            #return gen(camera)
            #return Response(gen(camera),mimetype='multipart/x-mixed-replace; boundary=frame')
            #response=make_response(camera.get_frame())
            #response.headers['Content-Type'] = 'image/png'
            #return render_template('debut.html', title="debut de l'entrainement pour une seule camera")
            return render_template('debut.html', title="debut de l'entrainement pour une seule camera")
            #return render_template('debut_entrainement.html', title="debut de l'entrainement")
        else:
            return render_template('train.html', title='trainning for one Camera',form=form)
    return render_template('train.html', title='trainning for one Camera',form=form)   

объект "камера" используется в функции image (), когда я объявляю его глобальным, он работает, но все клиенты имеют одинаковые изображения.

вот мой код для представления:

{% extends "base.html" %}


{% block content %}
<img id="bg" src={{ url_for('image') }} height="400" width="1200">

<form method="post" action="/image">
        <input type="submit" value="Next" name="Next"/>
</form>


{% endblock %}

Камера - это класс в другом файле. Я попробовал это решение 1 - глобальная камера: не работает для многих клиентов одновременно 2 - сеанс: нереализуемый объект 3 - url_for ('изображение', камера = камера)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...