Для тех, кто заинтересован, я решил эту проблему, заменив скрытое поле скрытым вводом и связав его с JavaScript следующим образом:
<input type="hidden" name="user_{{ user.user_id }}" id="user_{{ blogpost.blogpost_id }}">
var backgrounds = ["#ffbf00", "#FF0000", "#00cc00"];
function setColor(el, state_id) {
el.colorIdx = el.colorIdx || 0;
el.style.backgroundColor = backgrounds[el.colorIdx++ % backgrounds.length];
var hidden_color = document.getElementById('user_' + blogpost_id);
hidden_color.value = el.style.backgroundColor
}
Я также использовал следующее для доступа к скрытому входному значению в бэкэнде Flask:
value = request.form['user_14']