Set up
Sessions comes built in with the standard Django setup. But it's always nice to just double check that "'django.contrib.sessions'," is in your list of INSTALLED_APPS in your settings.py file.
Setting sessions
In this little example, I will show you how to set a session.
def index(request):
# String
request.session['username'] = 'codewithstein'
# Integers
request.session['user_id'] = user.id
# Booleans
request.session['is_authenticated'] = True
return render(request, 'index.html')
Great. Now we have a few session variables with strings, integers and boolean values.
Getting sessions
Getting sessions is also very easy.
def myaccount(request):
# Check if "is_authenticated" is true. Default it to "False"
if request.session.get('is_authenticated', False):
print('You are authenticated')
# Set username in a variable
username = request.session.get('username', '')
if username:
print("Your username is %s" % username)
return render(request, 'myaccount.html')
Deleting sessions
Now we know how to set and get sessions. But sometimes we want to delete them as well.
def logout(request):
try:
del request.session['is_authenticated']
except KeyError:
print("The key didn't exist")
return redirect('index')
So now you know how to use sessions :-D