Django не показывает флажок после отправки формы
Я создаю файл control_form.html для отображения и редактирования состояния флажка следующим образом.
control_form.html
{% for device in device %}
<!-- Rounded switch -->
<form action="addStatus" method="post">
{% csrf_token %}
<label class="switch">
<input type="checkbox" name="status" onChange="this.form.submit()" {% if device.status %} checked{% endif %}>
<span class="slider round"></span>
</label>
</form>
{% endfor %}
При отправке формы она отправит данные в addStatus() для обновления базы данных. После этого она вернется в файл control_form.html с обновленными данными.
views.py
def controlForm(request):
status = 0
data=Device.objects.all().filter(api_key='003')
device = {'device':data}
return render(request,'control_form.html', device)
def addStatus(request):
status =request.POST.get('status')
if status == "on":
device_item = Device.objects.get(api_key='003')
device_item.status = 1
device_item.save()
else:
device_item = Device.objects.get(api_key='003')
device_item.status = 0
device_item.save()
return render(request, 'control_form.html')
Проблема в том, что после обновления базы данных в addStatus(). В файле control_form.html не отображается чекбокс. Как это исправить?
<input type="checkbox" name="status" onChange="this.form.submit()" {% if device.status.value %} checked{% endif %}>