Django Bootstrap DatePicker Plus
raw JSON → 6.0.0 verified Fri May 01 auth: no python
A Django widget library providing DatePickerInput, TimePickerInput, DateTimePickerInput, MonthPickerInput, and YearPickerInput with Bootstrap 3/4/5 styling and integration with Tempus Dominus. Current version 6.0.0 supports Django 6, Python 3.10-3.14, and drops deprecated features. Released 2026-01-28, cadence is irregular.
pip install django-bootstrap-datepicker-plus Common errors
error ModuleNotFoundError: No module named 'bootstrap_datepicker_plus' ↓
cause Package not installed or not in Python path.
fix
Install the package: pip install django-bootstrap-datepicker-plus
error ImportError: cannot import name 'DatePickerInput' from 'bootstrap_datepicker_plus' ↓
cause Wrong import path; pre-5.0 style import no longer works.
fix
Use correct import: from bootstrap_datepicker_plus.widgets import DatePickerInput
error TypeError: __init__() got an unexpected keyword argument 'start_of' ↓
cause The 'start_of' option was removed in version 6.0.0.
fix
Remove 'start_of' and 'end_of' from picker options. Use alternative Tempus Dominus v6 options like 'minDate' and 'maxDate'.
error pydantic.error_wrappers.ValidationError (for pydantic v1) or pydantic_core._pydantic_core.ValidationError (for v2) ↓
cause Configuration validation error due to unsupported option or type.
fix
Check the options passed to the widget. Ensure they are valid Tempus Dominus v6 options. Refer to the widget documentation.
Warnings
breaking In version 6.0.0, support for Python <3.10 is dropped. Also, pydantic v1 is no longer supported; only pydantic v2 is compatible. Update your environment accordingly. ↓
fix Upgrade to Python >=3.10 and install pydantic v2 (pip install pydantic>=2).
breaking In version 5.0.0, import paths changed. Previously widgets were importable directly from 'bootstrap_datepicker_plus'. Now they must be imported from 'bootstrap_datepicker_plus.widgets'. Old imports will fail. ↓
fix Change 'from bootstrap_datepicker_plus import DatePickerInput' to 'from bootstrap_datepicker_plus.widgets import DatePickerInput'.
deprecated The 'start_of' and 'end_of' options are deprecated in version 5.0.0 and removed in 6.0.0. Use 'start_date' and 'end_date' or other modern configuration. ↓
fix Replace 'picker_opts={ "start_of": ... }' with 'picker_opts={ "minDate": ... }' or similar, depending on Tempus Dominus v6 options.
gotcha Bootstrap CSS and JS must be manually included in your template. The library does not bundle them. Also, if using Bootstrap 5, ensure you include the correct Tempus Dominus (v6) assets. ↓
fix Add Bootstrap and Tempus Dominus CDN links to your base template. Example: https://getbootstrap.com/docs/5.3/getting-started/introduction/ and https://getdatepicker.com/6/installation/
gotcha The widget configuration options are based on Tempus Dominus v6 API, which changed from v5 in earlier versions of this library. Options like 'format' and 'locale' are handled differently. ↓
fix Refer to the official Tempus Dominus v6 options documentation: https://getdatepicker.com/6/options/
Imports
- DatePickerInput
from bootstrap_datepicker_plus.widgets import DatePickerInput - DateTimePickerInput
from bootstrap_datepicker_plus.widgets import DateTimePickerInput - TimePickerInput
from bootstrap_datepicker_plus.widgets import TimePickerInput - MonthPickerInput
from bootstrap_datepicker_plus.widgets import MonthPickerInput - YearPickerInput
from bootstrap_datepicker_plus.widgets import YearPickerInput - DatePickerInput wrong
from bootstrap_datepicker_plus import DatePickerInputcorrectInternal server error