У меня есть форма Django:
class Form0(forms.Form):
# Do you agree to the terms?
CHOICES = [ (1,'Yes'), (0, 'No')]
response = forms.ChoiceField(widget=forms.RadioSelect,choices=CHOICES)
Мои просмотры:
def home(request):
'''
entry
'''
if request.method == 'POST':
form = forms.Form0(request.POST)
if form.is_valid():
assesment, created = models.Assessment.objects.get_or_create(
session_id=request.session.session_key,
defaults={'data': {}})
assesment.data.update({'Terms': form.cleaned_data['response']})
assesment.save()
print(form.cleaned_data)
if form.cleaned_data['response'] == '1':
return redirect(reverse("question1"))
else:
return redirect("conclusion")
resp = HttpResponse('ok')
return resp
else:
form = forms.Form0()
resp = render(request, 'coreapp/index.html', {'form': form})
if not request.session.session_key:
request.session.save()
return resp
Она отображается в моем шаблоне HTML. Я сделал скрипт для включения отправки формы при нажатии на переключатель, который отлично работает:
<form method="POST">
{{ form.as_table }} {% csrf_token %}
<script>
$("input[type=radio]").on("change", function () {
$(this).closest("form").submit();
});
</script>
</form>
Это выглядит так:
Проблема
Можно ли отобразить радиоселекты «Да» и «Нет» как обычные кнопки? Например, с помощью bootstrap кнопок, таких как:
<button class="btn btn-primary" type="submit">Yes</button>
<button class="btn btn-primary" type="submit">No</button>