我有一个带有电子邮件框的Django应用程序。 用户可以手动发送电子邮件或让它自动完成。 要更改设置:手动或自动,我已经创建了一个视图来更改设置。 为了向用户显示当前设置是什么,我预先选中了单选按钮。 它看起来像这样:
这是我现在拥有的代码: 。html views.py 当用户现在选择"自动"并单击"更新"时,屏幕保持与上图完全相同,即使事情发生了变化。 我想要的是,当用户选择"自动"en点击"更新"时,屏幕将更改为: <img alt="在这里输入图像描述"src="https://i.stack.imgur.com/jYUmC.png缧/> 有人可以帮助我:)?
<div class="form-group">
<label class="form-label">Send Emails:</label>
<p></p>
<input type="radio" name="update_type" value="manual" {% if view.manualSetting %}checked {%endif%}> Manual
{% if view.manualSetting is 1 %} ( Current setting ) {% else %} {% endif %}</input>
<p></p>
<input type="radio" name="update_type" value="auto" {% if view.autoSetting %}checked {%endif%}> Automated
{% if view.autoSetting is 1 %} ( Current setting ) {% else %} {% endif %}</input>
<p></p>
<button type="submit" class="btn btn-primary">Update</button>
</div>
class AutoSendView(generic.TemplateView):
template_name = 'core/mailbox/autoSendMail.html'
context_object_name = 'autosend'
extra_context = {"mailbox_page": "active"}
model = AutoSendMail.objects.get(id=1)
autoSetting = int(model.auto == True)
manualSetting = int(model.manual == True)
def post(self, request, *args, **kwargs):
update_type = self.request.POST.get('update_type')
if update_type == 'manual':
logger.info("Set to: manual email send")
AutoSendMail.objects.filter(pk=1).update(auto=True,
manual=False,
type="manual")
elif update_type == 'auto':
logger.info("Set to auto email send")
AutoSendMail.objects.filter(pk=1).update(auto=False,
manual=True,
type="auto")
return HttpResponseRedirect(self.request.path_info)