19👍
At some point, for a new user, you should set the cookie. Cookie expire time is usually a per user case. In Django, you can set the cookie age with the following code:
response = redirect('somewhere') # replace redirect with HttpResponse or render
response.set_cookie('cookie_name', 'cookie_value', max_age=1000)
The above cookie will expire after 1000s in a user’s browser.
There’s also an expires
attribute where you can specify an expire date.
Reference: https://docs.djangoproject.com/en/2.0/ref/request-response/#django.http.HttpResponse.set_cookie
EDIT
From the django source code, try the following:
response = redirect('somewhere') # replace redirect with HttpResponse or render
response.cookies['cookie_name']['expires'] = datetime.today() + timedelta(days=1)
Expire the above 1 day from today.
3👍
Accessing cookies: request.COOKIES[..]
Setting cookies: response.set_cookie()
More informations here: django book: Sessions…
- How to start a long-running process from a Django view?
- How do I create a proper user with django allauth?
- Combine prefetch_related and annotate in Django
0👍
Three ways:
1)
response = render_to_response(template_name, {'data':'data'})
response.set_cookie("cookie_name","test_value")
return response
2Midellware: http://justcramer.com/2007/12/20/set-cookies-without-a-response-in-django/
3) javascript in template
- Django NameError: name 'views' is not defined
- Determine empty template variable in Django
- Django error: [<class 'decimal.InvalidOperation'>]
- Django nested if else in templates
- Django Gunicorn not load static files
0👍
this is how you can render a template with any context, and changing cookie
context = {"any_context_key_1":"value_1", "key_2": "value_2"}
response = render(request, 'index.html', context)
response.set_cookie("this_is_cookies_key", "this_is_its_value", max_age=None)
return response
- Accessing Request Object in Viewset and Serializers in Django Rest Framework?
- How to change my django server time
- Django form.is_valid() always false
- Django Template Not Found