ID、名前、価格、在庫レベルを含むアイテムのリストがあるページがあります。この情報はSQLite3データベースから得られ、テーブルのページに入力されます。テーブルには、アイテムの在庫を追加または削除できる列もあります。Python Bottle - フォームをポストする/リフレッシュするたびに関数を繰り返す
このコードは、テーブルのセクションを示しています
% for i in items:
<tr>
<th scope="row">{{i[0]}}</th>
<td>{{i[1]}}</td>
<td>{{i[2]}}</td>
<td>{{i[3]}}</td>
<td><form method="post" action="/worker"><input type="number" name="newStock.{{i[0]}}"><input style="margin-left: 5px" type="submit" Value="Submit"></form></td>
</tr>
% end
そして、ここでは、このページ用のPythonボトルコード
@route('/worker', method='GET')
def workerPage1():
return template('worker', items=store.printItems(2)) # 1 prints out for shoppers, 2 prints out for workers.
@route('/worker', method='POST')
def workerPage2():
# allows to receive ItemId
for k in request.forms:
if k.startswith('newStock.'):
itemId = k.partition('.')[-1]
numStock = request.forms.get(k)
store.updateStock(itemId,numStock) # this accesses the database, updating the stock level
return template('worker', items=store.printItems(2))
私は取得しています問題であり、私が株式を入力したときということです追加するには、たとえば '8'と言っても問題ありません。しかし、私はページをリフレッシュするとき、それはそれに別の8を加えます。だから22時には、私は株式を追加するために提出をクリックし、それは30に行くだろうし、私は38などに行くだろうページをリフレッシュしたとき
これをやってからどのようなことをやめたらいいですか?
ありがとうございました。