У меня есть таблица с продуктами и флажок, который сообщает, нравится ли пользователю продукт или нет, который является переменной products.like = {1,0}
. У меня есть скрытая кнопка и кнопка-флажок, так что состояние 1 и 0 флажка будет опубликовано в приложении.
<input type="text" placeholder="Search for Products.." name="search">
<button type="submit" name="submit">Search</button> <button type="submit" name="update" style = margin-left:>Update</button>
{% for product in products %}
...
<td>{{product.like}}<input id = "h" type="hidden" name="checkbox:{{product.index}}" value={{product.like}}><input type="checkbox" onclick="this.previousSibling.value=1-this.previousSibling.value" {% if product.like == 1 %} checked {% else %} {% endif %}></td>
Из приложения я обновляю product.like
, если пользователь установил флажок. 100
app.py
@app.route('/', methods = ['GET', 'POST'])
def index():
name = None
checkbox_count = 0
if request.method == 'POST':
for key in request.form:
if key == 'search':
name = request.form['search']
if name is not None or name != "":
query_product = Products.query.filter(Products.productname==name).first()
if (query_product is not None) and (query_product not in product):
product.append(product)
if str(key).find('checkbox') != -1: #Check if key is a checkbox value.
company[checkbox_count].like = request.form[key] #Update the like variable
checkbox_count = checkbox_count+1
return render_template('index.html', products = product)
В первый раз, когда я загружаю таблицу, устанавливаются правильные флажки (те, где product.like == 1), но когда я нажимаюкнопка "обновить" или кнопка "поиск", все они становятся непроверенными, хотя переменная {{product.like}} == 1
Как сделать так, чтобы флажок все еще оставался после обновления страницы?