Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/charettes/django-sundial
Django application providing database, form fields and middleware for timezone support.
https://github.com/charettes/django-sundial
Last synced: about 2 months ago
JSON representation
Django application providing database, form fields and middleware for timezone support.
- Host: GitHub
- URL: https://github.com/charettes/django-sundial
- Owner: charettes
- License: mit
- Created: 2015-01-21T04:56:42.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2020-05-09T06:01:34.000Z (over 4 years ago)
- Last Synced: 2024-11-07T21:46:31.925Z (2 months ago)
- Language: Python
- Size: 56.6 KB
- Stars: 41
- Watchers: 5
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- starred-awesome - django-sundial - Django application providing database, form fields and middleware for timezone support. (Python)
README
django-sundial
==============.. image:: https://img.shields.io/pypi/l/django-sundial.svg?style=flat
:target: https://pypi.python.org/pypi/django-sundial/
:alt: License.. image:: https://img.shields.io/pypi/v/django-sundial.svg?style=flat
:target: https://pypi.python.org/pypi/django-sundial/
:alt: Latest Version.. image:: https://travis-ci.org/charettes/django-sundial.svg?branch=master
:target: https://travis-ci.org/charettes/django-sundial
:alt: Build Status.. image:: https://coveralls.io/repos/charettes/django-sundial/badge.svg?branch=master
:target: https://coveralls.io/r/charettes/django-sundial?branch=master
:alt: Coverage Status.. image:: https://img.shields.io/pypi/pyversions/django-sundial.svg?style=flat
:target: https://pypi.python.org/pypi/django-sundial/
:alt: Supported Python Versions.. image:: https://img.shields.io/pypi/wheel/django-sundial.svg?style=flat
:target: https://pypi.python.org/pypi/django-sundial/
:alt: Wheel StatusDjango application providing database, form fields and middleware for timezone support.
Installation
------------.. code:: sh
pip install django-sundial
Usage
-----.. code:: python
# settings.py
TIME_ZONE = 'America/Chicago'
AUTH_USER_MODEL = 'app.User'
MIDDLEWARE = [
...,
'django.contrib.sessions.middleware.SessionMiddleware',
...,
'sundial.middleware.TimezoneMiddleware',
...,
].. code:: python
# app/models.py
from django.conf import settings
from django.contrib.auth.models import AbstractUser
from django.contrib.auth.signals import user_logged_in
from django.dispatch.dispatcher import receiverfrom sundial.fields import TimezoneField
from sundial.utils import set_session_timezone
from sundial.zones import COMMON_GROUPED_CHOICESclass User(AbstractUser):
timezone = TimezoneField(
default=settings.TIME_ZONE, choices=COMMON_GROUPED_CHOICES
)@receiver(user_logged_in)
def assign_user_timezone(request, user, **kwargs):
set_session_timezone(request.session, user.timezone)