1
私はDjangoでオンラインストアを作成しようとしています。ビューファイルでは、プロダクトIDがユーザーが送信したものと一致するかどうかを確認するために、リストをループしています。しかし、私は "MultiValueDictKeyError"を取得し続けます。私はこれを解決する方法はありますか?DjangoでPost Valueを取得するときのMultiValueDictKeyError
VIEWSファイル
def index(request):
products = {
"items" : items
}
return render(request, "app_main/index.html", products)
def buy(request):
for item in items:
if item['id'] == int(request.POST['i_id']): ##<<--THIS IS WHERE IT
ERRORS
amount_charged = item['price'] * int(request.POST['quantity'])
try:
request.session['total_charged']
except KeyError:
request.session['total_charged'] = 0
try:
request.session['total_items']
except KeyError:
request.session['total_items'] = 0
request.session['total_charged'] += amount_charged
request.session['total_items'] += int(request.POST['quantity'])
request.session['last_transaction'] = amount_charged
HTMLファイル
<table>
<tr>
<th>Item</th>
<th>Price</th>
<th>Actions</th>
</tr>
<tr>
{% for i in items %}
<td>{{ i.name }}</td>
<td>{{ i.price }}</td>
<td>
<form action='/buy' method='post'>
{% csrf_token %}
<select name='quantity'>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
<input type='hidden' name='{{ i.id }}'/>
<input type='submit' value='Buy!' />
</form>
</td>
</tr>
{% endfor %}
</table>
です。ありがとうございました! –