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>

Maintainer

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.1.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_tempus_dominus-0.1.1-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for django-tempus-dominus-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7df71b1dca960c74b3b970481d6e26f9ccee934381465ad4296f3beaef40a32a
MD5 a3e81fcc7751722d8ec3903a0a40697b
BLAKE2b-256 adf55f1341b2c7fb65c31d38f8b5916d4872cf360f525e4596a2517b4103b6e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_tempus_dominus-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b93c6f9effa8ef2b6bb9210c316c7573c5fc1325f8f8cc92d8e3cb35dcf19358
MD5 390cc84b1bb0589a1ea8a7598dd160e6
BLAKE2b-256 50ab04e0186b7a346d2077277e005ba05a9f6a25507c58facd1e97c4b9a868db

See more details on using hashes here.

Supported by

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