Python/Django - Ввод radiobutton для автоматической отправки электронной почты
Я пытаюсь настроить ввод radiobutton, который позволяет выбрать автоматическую отправку электронной почты. Мне нужна форма, которая дает ввод: manual или auto. Для этого у меня есть одна строка в базе данных sqlite3:
class AutoSendMail(models.Model):
auto = models.BooleanField(default=False)
manual = models.BooleanField(default=True)
send_type = (
('manual', 'MANUAL'),
('auto', 'AUTO')
)
type = models.CharField(max_length=6, choices=send_type, default="manual")
В итоге я хочу, чтобы в AutoSendMail в type было установлено manual или auto, в зависимости от ввода радиокнопки.
Я дошел до этого:
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="email" class="form-control" placeholder="reply to"
value="{{mail.replyTo}}" name="replyTo">-->
<input type="radio" name="sendauto" value="On"> Manual
<input type="radio" name="sendauto" value="Off"> Auto
{{ form.type }}
</div>
<div class="card-footer text-right">
<input type="submit" value="Submit" name="autoapprove" class="btn btn-primary" />
</div>
</div>
</form>
urls.py
path('mailbox/auto_send/', login_required(views.AutoSendView.as_view()), name='auto_send'),
forms.py
class SendMailSetting(ModelForm):
class Meta:
model = AutoSendMail
fields = ['auto', 'manual', 'type']
widgets = {
"manual": DjangoToggleSwitchWidget(klass="django-toggle-switch-dark-primary"),
"auto": DjangoToggleSwitchWidget(round=True, klass="django-toggle-switch-success"),
'type': forms.RadioSelect()
}
models.py
class AutoSendMail(models.Model):
auto = models.BooleanField(default=False)
manual = models.BooleanField(default=True)
send_type = (
('manual', 'MANUAL'),
('auto', 'AUTO')
)
type = models.CharField(max_length=6, choices=send_type, default="manual")
views.py
class AutoSendView(generic.TemplateView):
form_class = SendMailSetting
model = AutoSendMail
extra_context = {"mailbox_page": "active"}
context_object_name = 'auto_send'
template_name = 'core/mailbox/mailindex.html'
def get(self, queryset=None, **kwargs):
logger.info("AutoMailCheck")
AutoSendMail.objects.filter(pk=1).update(auto=True)
AutoSendMail.objects.filter(pk=1).update(manual=False)
logger.info(AutoSendMail)
return redirect(reverse("core:mailbox"))
Я застрял на том, как я могу соединить radiobutton > urls.py > views.py. Также с его manual или auto значением для AutoSendMail
Надеюсь, кто-нибудь сможет мне помочь :)