вот мой не работающий код для передачи объекта между двумя функциями в 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 ('изображение', камера = камера)