Auto logout a user after specific time in Django
Project description
Auto logout a user after specific time in Django.
Works with Python >= 3.7, Django >= 3.0.
Installation
pip install django-auto-logout
Append to settings middlewares:
MIDDLEWARE = [
...
'django_auto_logout.middleware.auto_logout',
]
Logout in case of idle
Logout a user if there are no requests for a long time.
Add to settings:
AUTO_LOGOUT = {'IDLE_TIME': 600} # logout after 10 minutes of downtime
or the same, but with datetime.timedelta (more semantically):
AUTO_LOGOUT = {'IDLE_TIME': timedelta(minutes=10)}
Limit session time
Logout a user after 3600 seconds (hour) from the last login.
Add to settings:
AUTO_LOGOUT = {'SESSION_TIME': 3600}
or the same, but with datetime.timedelta (more semantically):
AUTO_LOGOUT = {'SESSION_TIME': timedelta(hours=1)}
Show messages when logging out automatically
Set the message that will be displayed after the user automatically logs out of the system:
AUTO_LOGOUT = {
'SESSION_TIME': 3600,
'MESSAGE': 'The session has expired. Please login again to continue.',
}
It uses django.contrib.messages. Don’t forget to display messages in templates:
{% for message in messages %}
<div class="message {{ message.tags }}">
{{ message }}
</div>
{% endfor %}
Combine configurations
You can combine previous configurations. For example, you may want to logout a user in case of downtime (5 minutes or more) and not allow working within one session for more than half an hour:
from datetime import timedelta
AUTO_LOGOUT = {
'IDLE_TIME': timedelta(minutes=5),
'SESSION_TIME': timedelta(minutes=30),
'MESSAGE': 'The session has expired. Please login again to continue.',
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-auto-logout-0.4.0.tar.gz
.
File metadata
- Download URL: django-auto-logout-0.4.0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 666dcfe18220f0e826c58252b686ae1b0b1245216ca501a74d20b7cbe9ae70e3 |
|
MD5 | 7fe1b91e570d584165a9dbb18f217407 |
|
BLAKE2b-256 | 4cac52d1c274414906cb7cf31ac9b3f899c68e2f23a2dc358289d8f90b231fb3 |