注文明細の数量を変更するような画面を作ってまして、こういうデータ構造でした。
ID | 商品名 | 注文数 |
---|---|---|
2 | AAAA | 3 |
3 | BBBB | 5 |
4 | CCCC | 6 |
5 | DDDD | 7 |
IDと商品名と注文数は配列で渡すので、こういうHTMLでマークアップします。
<input type="hidden" name="id[]" value="{{ od.id }}"> <input type="text" name="ordernum[]" value="{{ od.ordernum }}">
で、各々別の配列に入っている値ですが、このままで使えない。縦と横を変換したい。下記のi_want_thisのようなリスト構造にしたい。
list1 = [1, 2, 3] list2 = [4, 5, 6] i_want_this = [ (1 ,4), (2, 5), (3, 6) ]
で、これをFlaskでやるとこうなります。超簡単でした。
id_list = request.form.getlist('id[]') ordernum_list = request.form.getlist('ordernum[]') for (id, ordernum) in zip(id_list, ordernum_list): print(id, ordernum)