如何将数据库值设置为 for 循环中的元素?
How to set database values to elements in a for loop?
我的 html 页面上有一个循环,它为具有特定外键的 table 中的每一行显示一个复选框按钮。
我希望每个按钮代表不同的行并保存相应列的值,以便当用户单击它们时,这些值可以在路由中使用。但是我不知道该怎么做。
这是通过查询table的所有行来呈现页面的路由:
@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)
这是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>
首先,您似乎在按钮内使用了 1
,我认为这是 i
.
的拼写错误
给每个按钮添加一个link:
<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>
或者将每个按钮置于其自己的形式中:
<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>
然后在路由中捕获数据变量:
@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')
我的 html 页面上有一个循环,它为具有特定外键的 table 中的每一行显示一个复选框按钮。
我希望每个按钮代表不同的行并保存相应列的值,以便当用户单击它们时,这些值可以在路由中使用。但是我不知道该怎么做。
这是通过查询table的所有行来呈现页面的路由:
@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)
这是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>
首先,您似乎在按钮内使用了 1
,我认为这是 i
.
给每个按钮添加一个link:
<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>
或者将每个按钮置于其自己的形式中:
<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>
然后在路由中捕获数据变量:
@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')