A project for timezone handling.
Project description
Django Sage Timezone Management
Django Sage Timezone Management is a Django package that allows administrators to easily select and apply a timezone for their session directly from the Django Admin interface. Once set, the timezone is automatically applied to all datetime displays during the session.
Features
- Adds a "Select Timezone" option in the Django Admin navigation bar.
- Automatically applies the selected timezone to the user's session using middleware.
- Supports all timezones available through
pytz. - Simple integration with existing Django projects.
Installation
Using pip with virtualenv
-
Create a Virtual Environment:
python -m venv .venv
-
Activate the Virtual Environment:
-
On Windows:
.venv\Scripts\activate
-
On macOS/Linux:
source .venv/bin/activate
-
-
Install
django-sage-timezone:pip install django-sage-timezone
Using poetry
-
Initialize Poetry (if not already initialized):
poetry init -
Install
django-sage-timezone:poetry add django-sage-timezone
-
Apply Migrations:
After installation, ensure to run the following commands to apply necessary migrations:
python manage.py makemigrations python manage.py migrate
Configuration
Django Settings
Add django-sage-timezone to your INSTALLED_APPS in the Django settings:
INSTALLED_APPS = [
...
"sage_timezone",
"django.contrib.admin"
]
Also, add the TimezoneMiddleware to your middleware settings:
MIDDLEWARE = [
"django.contrib.sessions.middleware.SessionMiddleware",
"sage_timezone.middleware.TimezoneMiddleware",
...
]
Important Note:
The sage_timezone.middleware.timezone.TimezoneMiddleware must be placed after the django.contrib.sessions.middleware.SessionMiddleware in your MIDDLEWARE setting. This order is crucial to ensure that the session data is available when the timezone is set.
Note:
You can set a custom session name in your Django settings using the TIME_ZONE_SESSION_NAME setting. For example:
TIME_ZONE_SESSION_NAME = 'your_custom_session_name'
Usage
Once configured, the Django Admin will include a "Select Timezone" option in the navigation bar. Administrators can choose their preferred timezone, which will be applied to their session.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_sage_timezone-0.1.3.tar.gz.
File metadata
- Download URL: django_sage_timezone-0.1.3.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.4 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7aa1a3ec706fac3f559b9feeab8d282678d6e424b1ced743734c0c921e08647b
|
|
| MD5 |
d896e037374c0d2bb6f472479e79d7e0
|
|
| BLAKE2b-256 |
1d8f027996ffa6044e58c38c1b469f58a6ced1372ba16248e207f0dee5e3c56e
|
File details
Details for the file django_sage_timezone-0.1.3-py3-none-any.whl.
File metadata
- Download URL: django_sage_timezone-0.1.3-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.4 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8d7d246eb496a673e315617e82300b75decd83b9b63019cc313e73e7682188c
|
|
| MD5 |
293837a032f7213866bc8b11fdb6a7e1
|
|
| BLAKE2b-256 |
c2140a573848395acc38ceddf76b876aeb8c151de722d9ccde521ccbea0427ec
|