Skip to main content

django-timezone-field

https://img.shields.io/travis/mfogel/django-timezone-field/develop.svg https://img.shields.io/coveralls/mfogel/django-timezone-field/develop.svg https://img.shields.io/pypi/dm/django-timezone-field.svg

A Django app providing database and form fields for pytz timezone objects.

Examples

Database Field

import pytz
from django.db import models
from timezone_field import TimeZoneField

class MyModel(models.Model):
    timezone1 = TimeZoneField(default='Europe/London') # defaults supported
    timezone2 = TimeZoneField()
    timezone3 = TimeZoneField()

my_inst = MyModel(
    timezone1='America/Los_Angeles',    # assignment of a string
    timezone2=pytz.timezone('Turkey'),  # assignment of a pytz.DstTzInfo
    timezone3=pytz.UTC,                 # assignment of pytz.UTC singleton
)
my_inst.full_clean()  # validates against pytz.common_timezones
my_inst.save()        # values stored in DB as strings

tz = my_inst.timezone1  # values retrieved as pytz objects
repr(tz)                # "<DstTzInfo 'America/Los_Angeles' PST-1 day, 16:00:00 STD>"

Form Field

from django import forms
from timezone_field import TimeZoneFormField

class MyForm(forms.Form):
    timezone = TimeZoneFormField()

my_form = MyForm({
    'timezone': 'America/Los_Angeles',
})
my_form.full_clean()  # validates against pytz.common_timezones

tz = my_form.cleaned_data['timezone']  # values retrieved as pytz objects
repr(tz)                               # "<DstTzInfo 'America/Los_Angeles' PST-1 day, 16:00:00 STD>"

Installation

  1. From pypi using pip:

    pip install django-timezone-field
  2. Add timezone_field to your settings.INSTALLED_APPS:

    INSTALLED_APPS = (
        ...
        'timezone_field',
        ...
    )

Changelog

  • 2.0 (2016-01-31)

    • Drop support for django 1.7, add support for django 1.9

    • Drop support for python 3.2, 3.3, add support for python 3.5

    • Remove tests from source distribution

  • 1.3 (2015-10-12)

    • Drop support for django 1.6, add support for django 1.8

    • Various bug fixes

  • 1.2 (2015-02-05)

    • For form field, changed default list of accepted timezones from pytz.all_timezones to pytz.common_timezones, to match DB field behavior.

  • 1.1 (2014-10-05)

    • Django 1.7 compatibility

    • Added support for formating choices kwarg as [[<str>, <str>], …], in addition to previous format of [[<pytz.timezone>, <str>], …].

    • Changed default list of accepted timezones from pytz.all_timezones to pytz.common_timezones. If you have timezones in your DB that are in pytz.all_timezones but not in pytz.common_timezones, this is a backward-incompatible change. Old behavior can be restored by specifying choices=[(tz, tz) for tz in pytz.all_timezones] in your model definition.

  • 1.0 (2013-08-04)

    • Initial release as timezone_field.

Running the Tests

  1. Install tox.

  2. From the repository root, run

    tox

    Postgres will need to be running locally, and sqlite will need to be installed in order for tox to do its job.

Found a Bug?

To file a bug or submit a patch, please head over to django-timezone-field on github.

Credits

Originally adapted from Brian Rosner’s django-timezones. The full list of contributors is available on github.

Metadata

Release files for ambition-django-timezone-field 2.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ambition-django-timezone-field 2.0.4
File Size Uploaded Provenance Actions
ambition-django-timezone-field-2.0.4.tar.gz 6.7 kB Without provenance Details for ambition-django-timezone-field-2.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ambition-django-timezone-field 2.0.4
File Interpreter ABI Platform Actions
ambition_django_timezone_field-2.0.4-py2.py3-none-any.whl Python 2, Python 3 none any Details for ambition_django_timezone_field-2.0.4-py2.py3-none-any.whl

Total release size: 13.9 kB

Release files / ambition-django-timezone-field-2.0.4.tar.gz

Download URL ambition-django-timezone-field-2.0.4.tar.gz
Size 6.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4065b100cb964a39df973b4813fbb4ae16e49a7d09c1d5f4c669b096d61fe271
BLAKE2b-256 checksum
How to use checksums
c8e8e3201802e42d083ac7799c1e0bdfd3eb8a208ef781ba321ed44dd87f1000
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.8

Release files / ambition_django_timezone_field-2.0.4-py2.py3-none-any.whl

Download URL ambition_django_timezone_field-2.0.4-py2.py3-none-any.whl
Size 7.2 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
428a729b84d3bc9c0621182552362f4466067c17f36a8fea1abe5bcebeb86aae
BLAKE2b-256 checksum
How to use checksums
fec9421698da254f9aa29481e216fa2e79810a4aedf52b61045fc357757f1203
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.8

Security for ambition-django-timezone-field 2.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page