Django: Установка значения сookie из формы и удаление cookie. Результат отображается только после обновления страницы браузера
Есть форма и кнопка установить, ввожу данные в форму и нажимаю кнопку установить, результат: устанавливается cookie с именем "cookie_install" и значением из поля формы, но результат отображается только после обновления страницы.
form.py:
from django import forms
class UserForm(forms.Form):
cookie_value= forms.CharField(max_length=100)
views.py:
from django.shortcuts import render, redirect
from .form import UserForm
def setcookie(request):
if request.COOKIES.get('cookie_install') is not None:
cookie_inst='Печенька установлена'
cookie_value=request.COOKIES.get('cookie_install')
if request.POST.get("delete"):
response = render(request, 'index/key.html', {'cookie_inst':cookie_inst, 'cookie_value':cookie_value})
response.delete_cookie('cookie_install')
return response
return render(request, 'index/key.html', {'cookie_inst':cookie_inst, 'cookie_value':cookie_value})
if request.COOKIES.get('cookie_install') is None:
cookie_inst='Печенька НЕ установлена'
cookie_value="Value отсутствует"
form= UserForm(request.POST or None)
if form.is_valid():
cookie_value= form.cleaned_data.get("cookie_value")
response = render(request, 'index/key.html', {'cookie_inst':cookie_inst, 'cookie_value':cookie_value})
response.set_cookie('cookie_install', cookie_value, max_age=None)
return response
return render(request, 'index/key.html', {'form': form, 'cookie_inst':cookie_inst, 'cookie_value':cookie_value})
шаблон:
{% extends "index/index.html" %}
{% block title %}
Устанавливаем печеньку
{% endblock %}
{% block content %}
<form action="" method="POST">
{% csrf_token %}
{{ form }}
{% if cookie_inst == 'Печенька установлена'%}
<input type="Submit" name="delete" value="Удалить"/>
{% else %}
<input type="Submit" name="install" value="Установить"/>
{% endif %}
</form>
<p>{{ cookie_inst }}<br>{{ cookie_value }}</p>
{% endblock %}
Какими способами можно решить проблему обновления, чтобы результат был виден сразу (после нажатия кнопки формы)?