Django Tempus Dominus
Django Tempus Dominus provides Django widgets for the Tempus Dominus Bootstrap 4 DateTime date and time picker.
A Note About the Future of This Package
The parent project to this package, Tempus Dominus, is being reworked. This package will not receive any feature updates until the parent project releases version 6, which will deprecate jQuery and Bootstrap as dependencies. When that occurs, we'll update this package to support v6.
Installation
- From PyPI:
pip install django-tempus-dominus
Then add tempus_dominus to INSTALLED_APPS in your Django settings.
Usage & Django Settings
The following settings are available:
TEMPUS_DOMINUS_LOCALIZE(default:False): ifTrue, widgets will be translated to the selected browser language and use the localized date and time formats.TEMPUS_DOMINUS_INCLUDE_ASSETS(default:True): ifTrue, loads Tempus Dominus andmomentJS and CSS from Cloudflare's CDN, otherwise loading the JS and CSS are up to you.TEMPUS_DOMINUS_DATE_FORMAT(default:YYYY-MM-DD)TEMPUS_DOMINUS_DATETIME_FORMAT(default:YYYY-MM-DD HH:mm:ss)TEMPUS_DOMINUS_TIME_FORMAT(default:HH:mm:ss)
Three widgets are provided:
DatePicker- Defaults to
LifTEMPUS_DOMINUS_LOCALIZEisTrue, otherwiseTEMPUS_DOMINUS_DATE_FORMAT
- Defaults to
DateTimePicker- Defaults to
L LTSifTEMPUS_DOMINUS_LOCALIZEisTrue, otherwiseTEMPUS_DOMINUS_DATETIME_FORMAT
- Defaults to
TimePicker- Defaults to
LTSifTEMPUS_DOMINUS_LOCALIZEisTrue, otherwiseTEMPUS_DOMINUS_TIME_FORMAT
- Defaults to
In your Django form, you can use the widgets like this:
from django import forms
from tempus_dominus.widgets import DatePicker, TimePicker, DateTimePicker
class MyForm(forms.Form):
date_field = forms.DateField(widget=DatePicker())
date_field_required_with_min_max_date = forms.DateField(
required=True,
widget=DatePicker(
options={
'minDate': '2009-01-20',
'maxDate': '2017-01-20',
},
),
initial='2013-01-01',
)
"""
In this example, the date portion of `defaultDate` is irrelevant;
only the time portion is used. The reason for this is that it has
to be passed in a valid MomentJS format. This will default the time
to be 14:56:00 (or 2:56pm).
"""
time_field = forms.TimeField(
widget=TimePicker(
options={
'enabledHours': [9, 10, 11, 12, 13, 14, 15, 16],
'defaultDate': '1970-01-01T14:56:00'
},
attrs={
'input_toggle': True,
'input_group': False,
},
),
)
datetime_field = forms.DateTimeField(
widget=DateTimePicker(
options={
'useCurrent': True,
'collapse': False,
},
attrs={
'append': 'fa fa-calendar',
'icon_toggle': True,
}
),
)
Then in your template, include jQuery, {{ form.media }}, and render the form:
<html>
<head>
{# Include FontAwesome; required for icon display #}
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.css">
{# Include Bootstrap 4 and jQuery #}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
{# Django Tempus Dominus assets are included in `{{ form.media }}` #}
{{ form.media }}
</head>
<body>
<div class="container">
<div class="row">
<div class="col">
<form method="post" action=".">
{% csrf_token %}
{{ form.as_p }}
</form>
</div>
</div>
</div>
</body>
</html>
Widget Options
options(dictionary): This dictionary will be passed to Tempus Dominus. A full list of options is available here.input_toggle(boolean, defaultTrue): Controls whether clicking on the input field toggles the datepicker popup. Typically is set to False when an icon is in use.input_group(boolean, defaultTrue): Whether to include a Bootstrap 4input-grouparound the picker.size(string): Controls the size of the input group (smallorlarge). Defaults to the default size.prepend(string): Name of a Font Awesome icon to prepend to the input field (fa fa-calendar).append(string): Name of a Font Awesome icon to append to the input field (fa fa-calendar).icon_toggle(boolean, defaultTrue): Controls whether clicking on the icon toggles the datepicker popup. Typically is set to False when an icon is in use.
Release Notes and Contributors
Maintainers
- Timothy Allen (https://github.com/FlipperPA)
- Ian Stewart (https://github.com/ianastewart)
This package is largely maintained by the staff of Wharton Research Data Services. We are thrilled that The Wharton School allows us a certain amount of time to contribute to open-source projects. We add features as they are necessary for our projects, and try to keep up with Issues and Pull Requests as best we can. Due to time constraints (our full time jobs!), Feature Requests without a Pull Request may not be implemented, but we are always open to new ideas and grateful for contributions and our package users.
Metadata
Release files for django-tempus-dominus 5.1.2.17
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-tempus-dominus-5.1.2.17.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_tempus_dominus-5.1.2.17-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.3 kB
Release files / django-tempus-dominus-5.1.2.17.tar.gz
| Download URL | django-tempus-dominus-5.1.2.17.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a254c4550287e8f4e958c5d8dd9e39eec0a15aaad7469ad182b46f7f888e97ec
|
|
BLAKE2b-256 checksum How to use checksums |
b71448064b01708dd67358ef5b857037068d2f215d28fe42189d0ce462827271
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3
|
Release files / django_tempus_dominus-5.1.2.17-py3-none-any.whl
| Download URL | django_tempus_dominus-5.1.2.17-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f449e0e4dfde3b312aa153b552f83aa80c7b58f980ee75ba82b0e9cf6c35ff3c
|
|
BLAKE2b-256 checksum How to use checksums |
a6473e81e26786f570a1a10834ae315044ced4e936017c7bece798824c02d618
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3
|