Можно ли сгенерировать маршрут в зависимости от данных из базы данных? В настоящее время у меня есть один общий маршрут:
@main.route('/profile’)
def profile(user_name):
return render_template('profile.html', name=user_name)
и
@main.route('/video_stream')
def video_stream():
camera = CameraHandler(cv2.VideoCapture(0))
camera.start()
camera_threads[stream_id] = camera
return Response(camera.gen(), mimetype='multipart/x-mixed-replace; boundary=frame')
Где профиль. html выглядит так:
{% extends "base.html" %}
{% block content %}
<div class="container has-text-centered">
<h1 class="title">
Welcome, {{ name }}!
</h1>
<h3 class="title">
This is a stream from your camera
</h3>
<img src="{{ url_for('main.video_stream') }}">
</div>
{% endblock %}
Работает нормально, как ожидается. Однако теперь я хочу иметь новый маршрут, созданный динамически для указанного пользователя c. Поэтому, если в базе данных у меня есть пользователь с именем «Test» с id = 1, то если пользователь войдет в систему, маршрут должен выглядеть следующим образом:
/profile/Test/stream?id=1
Я предполагаю, что изменение моих маршрутов на что-то подобное сделать работу:
@main.route('/profile/<string:user_name>')
def profile(user_name):
И
@main.route('/video_stream/<int:stream_id>')
def video_stream(stream_id):
Но, насколько я знаю ... не знаю, как это правильно объяснить ... других маршрутов не будет, потому что это создаст только один маршрут. Например: Войдите в систему как пользователь Test с идентификатором 1, у меня будет страница с маршрутом / профилем / Test? Id = 1, и все будет работать правильно. Но затем, когда я буду входить на другой компьютер с другой учетной записью, скажем, Test2 с идентификатором 2, тогда предыдущий маршрут прекратит существовать, а новый / profile / Test2? Id = 2 будет единственным здесь.
Итак, можно динамически создавать новые маршруты, но с сохранением ранее созданных?