Reputation: 35
Can you please help? What should I do in order to get this value inside my views?
<div>
<form method="POST" action = "" enctype="multipart/form-data">
{% csrf_token %}
<select name="to_delete" >
{% for pl in players %}
<option value="1">{{pl.name}}</option>
{% endfor %}
</select>
<input type="submit" value="Delete"/>
</form>
</div>
def deletePlayer(request,pk,sk):
room = Room.objects.get(number=pk)
player = Player.objects.get(number=sk)
players = Player.objects.filter(room=room)
if request.method == "POST":
result = reguest.get('1')
to_delete = Player.objects.get(name=result)
to_delete.delete()
context = {'room': room, 'players':players,'player':player}
return render(request, 'base/delete_player.html', context)
Upvotes: 2
Views: 309
Reputation: 312
Your form is sending the data using POST method. To delete the data with their names, change the value of options in select with their names as well like this
<option value="{{pl.name}}">{{pl.name}}</option>
Then inside your views.py
result = request.POST.get('to_delete')
then use result to delete it from your table.
Upvotes: 3