You may also always save to cookie before submitting the form and clear it on the thank you page
On Thu, 12 Apr 2018, 14:20 Vijay Shanker, <[email protected]> wrote: > I have to code this scenario: > > Some user comes to fill a form and while user is at it, session expires; > User tries to submit form, as session has expired it will take him to login > page after which he is rediredted to form page with a prefilled form with > data he filled previously. > > my propsed solution: on form submit, check if user session is expired with > an ajax call, if yes, drop a cookie with values of filled form, user comes > back to same form, prefill the form from cookie value. > > how far I got: not much; I used ajax call to check session expiry with a > backend call to this function: > > def check_valid_session(request): > session_expiry_date = request.session.get_expiry_date() > now = datetime.now() > seconds_left = (session_expiry_date - now).total_seconds() > if seconds_left <= 0: > return JsonResponse({'session_expired': True, 'seconds_left': > seconds_left }) > else: > return JsonResponse({'session_expired':False, 'seconds_left': > seconds_left}) > > in my settings I have: > > SESSION_COOKIE_NAME = "sso-sessionid" > SESSION_COOKIE_HTTPONLY = False > SESSION_COOKIE_AGE = 10 > SESSION_COOKIE_DOMAIN = '.mydomain.com' > SESSION_COOKIE_SECURE = True > SESSION_EXPIRE_AT_BROWSER_CLOSE = True > > but in response, I always get seconds_left as something close to 9.999. > and session_expiry_date keeps increasing itself by 10 seconds each time i > hit submit and call the backend code above. How to get correct session > expire time? > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/e623b707-2014-4511-91f4-7a00420fe196%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/e623b707-2014-4511-91f4-7a00420fe196%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAFWa6tLyCywv3sZn%3D2ch9fdrxBLv-PCRdqPS3CK5ioiimypobg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

