Django/Python - обновление html после обновления с помощью кнопки radiobutton
У меня есть приложение Django с почтовым ящиком. Пользователь может отправить письмо вручную или позволить сделать это автоматически. Чтобы изменить настройку: вручную или автоматически, я создал представление для изменения настроек. Чтобы показать пользователю текущую настройку, я установил флажок на радиокнопке. Это выглядит следующим образом:
Моя проблема заключается в том, что при нажатии на кнопку "Обновить" происходит изменение настроек, но не во фронтенде для пользователя. Поэтому пользователь не видит, что настройки изменены. Поэтому страница должна обновляться или что-то в этом роде с новыми настройками, но я не знаю как...
< Вот код, который у меня есть сейчас:
views.py Когда пользователь выбирает "Automated" и нажимает "Update", экран остается точно таким же, как на картинке выше, несмотря на то, что все изменилось. Я бы хотел, чтобы когда пользователь выбирает "Automated" en нажимает "Update", экран менялся на: Может кто-нибудь мне помочь :)? Вместо <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)
return HttpResponseRedirect(self.request.path_info)
попробуйте return redirect('/url/')