Skip to main content

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

  1. Create a Virtual Environment:

    python -m venv .venv
    
  2. Activate the Virtual Environment:

    • On Windows:

      .venv\Scripts\activate
      
    • On macOS/Linux:

      source .venv/bin/activate
      
  3. Install django-sage-timezone:

    pip install django-sage-timezone
    

Using poetry

  1. Initialize Poetry (if not already initialized):

    poetry init
    
  2. Install django-sage-timezone:

    poetry add django-sage-timezone
    
  3. 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

django_sage_timezone-0.1.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

django_sage_timezone-0.1.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file django_sage_timezone-0.1.0.tar.gz.

File metadata

  • Download URL: django_sage_timezone-0.1.0.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Windows/11

File hashes

Hashes for django_sage_timezone-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1d9ba4913ede3c97de7ab9609d8b463b29719defc7b99803d6209d139e2048ff
MD5 31b243665a77852622ed6e9356166ea8
BLAKE2b-256 d942c2d7b6793fead878b60a49dd7a3fbf0a0f3002a3ae39e3bdc23099f033fd

See more details on using hashes here.

File details

Details for the file django_sage_timezone-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_sage_timezone-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff633e39055b7ef390010d7df09746e090446be4850167139c880619339a95e0
MD5 ff18c597976386ecc88105cbbf780342
BLAKE2b-256 1b6959d15f86766f6b0bbf05ae05c639c014fb51cfd7206a581191d8558b0ef3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page