Как получить значение из формы выбора HTML внутри представления?
1.В HTML шаблоне я создал форму выбора, передавая в нее имена игроков из модели Player Model.
2.Я хочу удалить игрока, выбранного в этой форме.
3.Внутри моего представления я пытаюсь получить выбранное значение в виде строки, но не могу.
Для меня это будет Player.objects.get(name="то, что выбрано внутри формы").
Можете ли вы помочь? Что я должен сделать, чтобы получить это значение внутри моего представления?
<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)
Ваша форма отправляет данные методом POST. Чтобы удалить данные с их именами, измените значения опций в select с их именами, как показано ниже
<option value="{{pl.name}}">{{pl.name}}</option>
Затем внутри вашего файла views.py
result = request.POST.get('to_delete')
затем используйте результат для удаления его из вашей таблицы.