Here's my original HTML with the "radio" buttons:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" integrity="sha512-5A8nwdMOWrSz20fDsjczgUidUBR8liPYU+WymTZP1lmY9G6Oc7HlZv156XqnsgNUzTyMefFTcsFH/tnJE/+xBg==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<div data-value="attending" class="radio-tempo col-sm-12">
<button class="btn btn-default active" data-value="yes"><i class="fa fa-smile-o"></i>Yes</button>
<button class="btn btn-default" data-value="no"><i class="fa fa-frown-o"></i>No</button>
</div>
I wanted to capture the values into my POST request so I modified it and added names and values to my HTML code:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" integrity="sha512-5A8nwdMOWrSz20fDsjczgUidUBR8liPYU+WymTZP1lmY9G6Oc7HlZv156XqnsgNUzTyMefFTcsFH/tnJE/+xBg==" crossorigin="anonymous" referrerpolicy="no-referrer"
/>
<div data-value="attending" class="radio-tempo col-sm-12">
<button name="button_yes" value="yes" class="btn btn-default active" data-value="yes"><i class="fa fa-smile-o"></i>Yes</button>
<button name="button_no" value="no" class="btn btn-default" data-value="no"><i class="fa fa-frown-o"></i>No</button>
</div>
And the views.py
def index(request):
if request.method == 'POST':
print(request.POST)
The output:
<QueryDict: {'csrfmiddlewaretoken': ['zSRXL8dUDyWlSMdnHs3qTrNHWOHu3WC9eOWnDuI4wW95VvndDArPlS4vGPFTooDs'], 'FirstName': ['John'], 'LastName': ['Smith'], 'Message': ['bla bla']}>
What am I doing wrong? I know that best way would be to use plain radio buttons but I would like to avoid CSS styling of the radio buttons and keep the original HTML template elements.