В настоящее время я застрял в личном проекте, где я делаю вызовы Fetch API, чтобы получить аудио sr c для списка html звуковых тегов.
Вызов извлечения запускается нажатием кнопки мыши. Событие на трассе. Хотя, независимо от того, на какую дорожку я нажимаю, извлекает call / play_track / 1 / и добавляет аудиоплеер только к первой дорожке. Любой способ исправить это?
Как вы можете видеть мой индекс. html в основном просто jinja2:
{% extends 'base.html' %}
{% block content %}
{% for track in tracks %}
{% include '_post.html' %}
{% endfor %}
{% endblock content %}
Здесь _post. html с вызовом Fetch: (В настоящее время используется событие onclick для вызова, но переключится на onpageload)
А вот код бэкэнда: (Который я почти уверен, если я настрою, я могу избежать Fetch все вместе, но это другая проблема)
@bp.route('/play_track/<track_id>/')
def play_track(track_id):
track = Track.query.filter_by(id=track_id).first()
res = requests.get(track.audio)
if not res.status_code == 200:
return f'Status code: {res.status_code}'
json_res = json.loads(res.text)
mpeg_audio_url = json_res['url']
msg_dict = {
'url': mpeg_audio_url
}
res = make_response(jsonify({'message': msg_dict}))
return res
Подводя итог: вызовите не понимая Jinja2 для l oop. Кликаю ли я по треку 1, 10 или 46 и т. Д. c, он вызывает / play_track / 1 / и добавляет аудиотег к первому треку.
Спасибо!