Если условие для того, чтобы флажок был установлен, работает только в Flask? - PullRequest
0 голосов
/ 18 октября 2019

У меня есть таблица с продуктами и флажок, который сообщает, нравится ли пользователю продукт или нет, который является переменной 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 Как сделать так, чтобы флажок все еще оставался после обновления страницы?

...