Django: использовать ту же дату запроса при обновлении страницы
Я создаю приложение для Django. На мой взгляд, у меня есть функция, которая обрабатывает запрос формы POST и отображает страницу, зависящую от нее: это выглядит просто так:
def renderPage(request):
if request.method == 'POST':
form = ExampleForm(request.POST)
if form.is_valid():
# Do something with the form data
#here i render the page and pass some data to it
return render(request, "main/mypage.html", {"example" : example, ...})
...
Это работает так же, как и должно. Но теперь я хочу, чтобы, если кто-то находился на отображаемой странице и перезагружал страницу (например, в chrome, нажав на адресную строку нажатием клавиши Enter), запрос на предварительный просмотр, который он сделал, был сохранен. В тот момент, когда кто-то перезагружает страницу, вызывается функция renderPage(), но нет запроса (очевидно, тогда, конечно, запрос request.method == 'POST' равен False). Есть ли простой способ добиться этого? Это проблема / особенность браузера? Это то, что я должен сделать в моем HTML-коде?
Я могу только из очень сложных способов сделать это. Как, например, явное сохранение данных запроса, а затем написание сценария на JavaScript, который создает копию предыдущего запроса, когда кто-то перезагружает страницу. Я уверен, что в Django есть более простой способ добиться этого!?
1 ответ
Ты можешь попробовать:
<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-store, must-revalidate">
<meta HTTP-EQUIV="expires" CONTENT="0">
или перезагрузите данные с помощью JS