Skip to main content

A Django widget for the Tempus Dominus Bootstrap 4 DateTime picker.

Project description

Django Tempus Dominus

Django Tempus Dominus provides Django widgets for the Tempus Dominus Bootstrap 4 DateTime date and time picker. Why yet another date and time picker for Django? None supported the Tempus Dominus date and time picker, which is actively developed and feature rich. It is a successor to the popular bootstrap-datetimepicker JavaScript library.

Installation

  • From PyPI: pip install django-tempus-dominus

  • From source:

git clone git+https://github.com/FlipperPA/django-tempus-dominus.git
pip install -e django-tempus-dominus

Usage

Three widgets are provided:

  • DatePicker, which defaults to YYYY-MM-DD
  • DateTimePicker, which defaults to YYYY-MM-DD HH:mm:ss
  • TimePicker, which defaults to HH:mm:ss

In your Django form, you can use the widgets like this:

import datetime

from django import forms
from tempus_dominus.widgets import DatePicker, TimePicker, DateTimePicker

class MyForm(forms.Form):
    date_field = forms.DateField(
        required=True,
        widget=DatePicker(
            options={
                'minDate': '2009-01-20',
                'maxDate': '2017-01-20',
            }
        ),
    )
    time_field = forms.TimeField(
        widget=TimePicker(
            options={
                'enabledHours': [9, 10, 11, 12, 13, 14, 15, 16],
            }
        ),
    )
    datetime_field = forms.DateTimeField(
        widget=DateTimePicker(
            options={
                'minDate': (datetime.date.today() + datetime.timedelta(days=1)).strftime('%Y-%m-%d'),  # Tomorrow
                'useCurrent': True,
                'collapse': False,
            }
        ),
    )

The options dictionary will be passed to Tempus Dominus. A full list of options is available here.

Then in your template, include jQuery, {{ form.media }}, and render the form:

<html>
    <head>
        <script crossorigin="anonymous" integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
        {{ form.media }}
    </head>
<body>
    <form method="post" action=".">
        {% csrf_token %}
        {{ form.as_p }}
    </form>
</body>
</html>

Change Log

  • 0.1.2: UX enhancement: auto-dismiss dialog if the input loses focus.
  • 0.1.1: Bug fixes.
  • 0.1.0: Initial release.

Maintainer

Contributors (Thank You!)

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-tempus-dominus-0.1.3.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

django_tempus_dominus-0.1.3-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file django-tempus-dominus-0.1.3.tar.gz.

File metadata

File hashes

Hashes for django-tempus-dominus-0.1.3.tar.gz
Algorithm Hash digest
SHA256 527253cf9863900105987a84617b5c08116d33447fc125ed24ccf9f0a0f88d2d
MD5 ea903e22fc8999e46e6af533d3f65da4
BLAKE2b-256 b57f63e382779181f9b43cb7b2bd74bfc1bf0e2790290723d8bd8e8ca52a3002

See more details on using hashes here.

File details

Details for the file django_tempus_dominus-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for django_tempus_dominus-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2f6e93607cae6bf485a86e3f24435acc2f57f95057368a025549ae10b3a50802
MD5 3026cef7d0ddf0846216b5c45e94b911
BLAKE2b-256 81fa9918e310e21fa58cfa8baabbeea2a22ad03340e518334442eea5ca34f328

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