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

Другие вопросы по тегам