Django/Python - значение радиокнопки: проверка в зависимости от значения модели и отправка значения в представление

У меня есть проблема: У меня есть модель, которая говорит, включен или выключен autoreply (автоматическая отправка электронной почты). Модель (которая содержит только 1 строку) выглядит следующим образом:

class AutoSendMail(models.Model):
    auto = models.BooleanField(default=False)
    manual = models.BooleanField(default=True)

модель содержит только 1 ряд, по умолчанию, как указано выше с auto = False и manual = True

Теперь, что я хочу:

  • в mailindex.html 2 радиокнопки с параметрами "авто" и "ручной"
  • когда либо auto, либо manual равно True, радиокнопка отмечена галочкой
  • Пользователь может изменить эту настройку: он может перейти к настройке auto, нажать кнопку submit button > это новое значение для auto будет True отправлено в views.py, где оно используется для изменения первой строки в модели AutoSendMail.

Что у меня есть на данный момент:

mailindex.html

<form action="" method="post" class="card">
    {% csrf_token %}
    <div class="card-body">
                <div class="form-group text-right">
                    <label class="form-label">Send E-mail Automatically</label>
                    <input type="radio" name="autoapprove" value="On"> Manual
                    <input type="radio" name="autoapprove" value="Off"> Auto
                </div>
        <div class="card-footer text-right">
            <a href="{% url 'core:auto_send' %}" class="btn btn-secondary btn-sm">Submit</a>
        </div>
    </div>
</form>

views.py

class AutoSendView(generic.TemplateView):
    model = AutoSendMail
    extra_context = {"mailbox_page": "active"}
    context_object_name = 'auto_send'
    template_name = 'core/mailbox/mailindex.html'

    def get(self, queryset=None, **kwargs):
        new_setting = AutoSendMail.objects.get(id=1)

        if new_setting.type == "True":
            AutoSendMail.objects.filter(pk=1).update(auto=True)
            AutoSendMail.objects.filter(pk=1).update(manual=False)
            return redirect(reverse("core:mailbox"))

        elif new_setting.type == "False":
            AutoSendMail.objects.filter(pk=1).update(auto=False)
            AutoSendMail.objects.filter(pk=1).update(manual=True)
            return redirect(reverse("core:mailbox"))

        return redirect(reverse("core:mailbox"))

Как вы можете видеть, мое решение не посылает никакого значения в views.py, и радиокнопки также не проверяются, когда либо manual, либо auto находятся True в модели, поскольку я не могу найти, как я мог бы это сделать. Любая помощь будет очень признательна!

Вернуться на верх