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 https://github.com/FlipperPA/django-tempus-dominus.git
pip install -e django-tempus-dominus
Add tempus_dominus to INSTALLED_APPS in your Django settings.
Usage & 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.
Three widgets are provided:
DatePicker- Defaults to
YYYY-MM-DD - Defaults to
LifTEMPUS_DOMINUS_LOCALIZEisTrue
- Defaults to
DateTimePicker- Defaults to
YYYY-MM-DD HH:mm:ss - Defaults to
L LTSifTEMPUS_DOMINUS_LOCALIZEisTrue
- Defaults to
TimePicker- Defaults to
HH:mm:ss - Defaults to
LTSifTEMPUS_DOMINUS_LOCALIZEisTrue
- Defaults to
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(widget=DatePicker())
date_field_required_with_min_max_date = 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
- 5.0.1.4: Include template in the MANIFEST.in file.
- 5.0.1.3: Add setting to exclude CDN CSS and JS assets. Add initial test suite.
- 5.0.1.2: Documentation clean up.
- 5.0.1.1: Option to l10n and i18n to all pickers.
- 5.0.1.0: Upgrade to Tempus Dominus full release version
5.0.1. Fix bug for populating initial values (thank you, @ianastewart). - 0.1.2: UX enhancement: auto-dismiss dialog if the input loses focus.
- 0.1.1: Bug fixes.
- 0.1.0: Initial release.
Maintainer
- Timothy Allen (https://github.com/FlipperPA)
Contributors & DjangoCon US Sprinters (Thank You!)
- Bryan Collazo (https://github.com/bcollazo)
- Donna St. Louis (https://github.com/dcstlouis)
- Ian Stewart (https://github.com/ianastewart)
- Jake Bell (https://github.com/theunraveler)
- John Carroll (https://github.com/johnnyporkchops)
- Katherine Dey (https://github.com/deyspring)
- Kenneth Love (https://github.com/kennethlove)
- Kevan Swanberg (https://github.com/kevswanberg)
- Ryan Sullivan (https://github.com/rgs258)
- Stéphane "Twidi" Angel (https://github.com/twidi)
- Tiffany Huang (https://github.com/tiff8433)
- Václav 'ax' Hůla (https://github.com/AxTheB)
- waymou (https://github.com/waymao)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django-tempus-dominus-5.0.1.4.tar.gz.
File metadata
- Download URL: django-tempus-dominus-5.0.1.4.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05257233eb57afb7f5495f31d9eff5ffbdf684c11b646279bf154209175bdac5
|
|
| MD5 |
142e120517bd93d8856240f9b33e7dc8
|
|
| BLAKE2b-256 |
fea9f65b6185b60d75665d6953c525db6841118dc6207700d7f4c1a25f74f8a4
|
File details
Details for the file django_tempus_dominus-5.0.1.4-py3-none-any.whl.
File metadata
- Download URL: django_tempus_dominus-5.0.1.4-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7990269f21310045ffda215471bd87e3eb01d19ab06974e90b218de8643cf93f
|
|
| MD5 |
7b0a5dd9c89381f4aa2aacec225b69e9
|
|
| BLAKE2b-256 |
93f4a32eece25b6bcd10e47cff094fd8543927f6eb8674de336a5d80ecc8c8d7
|