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.
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 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')
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