Python 如何为for循环中的元素设置数据库值?

Python 如何为for循环中的元素设置数据库值?,python,flask,htmlbutton,Python,Flask,Htmlbutton,我的html页面上有一个循环,它为表中具有特定外键的每一行显示一个复选框按钮 我希望每个按钮代表一个不同的行,并保存来自各个列的值,以便当用户单击它们时,这些值可以在路由中使用。但我不知道该怎么做 这是通过查询表的所有行来呈现页面的路由: @raffle.route('/numbers<raffle_id>', methods=['GET', 'POST']) @login_required def numbers(raffle_id): response = readnum

我的html页面上有一个循环,它为表中具有特定外键的每一行显示一个复选框按钮

我希望每个按钮代表一个不同的行,并保存来自各个列的值,以便当用户单击它们时,这些值可以在路由中使用。但我不知道该怎么做

这是通过查询表的所有行来呈现页面的路由:

@raffle.route('/numbers<raffle_id>', methods=['GET', 'POST'])
@login_required
def numbers(raffle_id):
    response = readnumber(rifa_id)
    result = response['data']
    return render_template('numbers.html', number=result, raffle_id=raffle_id)
@raffle.route('/numbers',methods=['GET',POST'])
@需要登录
def编号(抽奖id):
响应=读取编号(rifa\U id)
结果=响应['data']
返回呈现模板('numbers.html',number=result,raffle\u id=raffle\u id)
这是HTML:

<div class="container">
    <div id="div_buy" class="box">
        <a href="{{ url_for('raffle.buy', raffle_id=raffle_id) }}" id="btn_buy" class="btn btn-success send ">BUY</a>
    </div>
    {% for i in number %}
         <span class="button-checkbox">
             <button type="button" class="btn" data-color="primary">{{ 1 }}</button>
             <input type="checkbox" class="hidden" />
         </span>
    {% endfor %}
</div>

{数字%中的i为%1}
{{ 1 }}
{%endfor%}

首先,看起来您在按钮内部使用了
1
,我假设这是
I
的打字错误

向每个按钮添加链接:

<div class="container">
    <div id="div_buy" class="box">
        <a href="{{ url_for('raffle.buy', raffle_id=raffle_id) }}" id="btn_buy" class="btn btn-success send ">BUY</a>
    </div>
    {% for i in number %}
         <span class="button-checkbox">
             <button onclick="{{ url_for('raffle.my_route', data=i) }}" type="button" class="btn" data-color="primary">{{ i }}</button>
             <input type="checkbox" class="hidden" />
         </span>
    {% endfor %}
</div>

{数字%中的i为%1}
{{i}
{%endfor%}
或者,将每个按钮以其自身的形式放置:

<div class="container">
    <div id="div_buy" class="box">
        <a href="{{ url_for('raffle.buy', raffle_id=raffle_id) }}" id="btn_buy" class="btn btn-success send ">BUY</a>
    </div>
    {% for i in number %}
        <form action="{{ url_for('raffle.my_route', data=i) }}">
            <span class="button-checkbox">
                <button type="submit" name="my-button" class="btn" data-color="primary">{{ i }}</button>
                <input type="checkbox" class="hidden" />
            </span>
        </form>
    {% endfor %}
</div>

{数字%中的i为%1}
{{i}
{%endfor%}
然后捕获路由中的数据变量:

@raffle.route('/path/with<data>', methods=['GET', 'POST'])
@login_required
def my_route(data):
    
    # do stuff with data variable
    return render_template('another_template.html')
@raffle.route('/path/with',methods=['GET',POST'])
@需要登录
def my_路线(数据):
#处理数据变量
返回render_template('other_template.html')