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 %}>
Вернуться на верх