Registry / web-framework / django-bootstrap-datepicker-plus

django-bootstrap-datepicker-plus

JSON →
library6.0.0pypypi✓ verified 85d ago

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
INSTALL
IMPORT
SIG · DJANGO-BOOTSTRAP-D
D
django-bootstrap-datepicker-plus
web-frameworkpythonv6.0.0
Install
5.2s avg
Import
948ms
Disk
76MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v6.0.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.980s · 76.8MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 5.2s · import 0.916s · 76MB
76MB installed
● package 76MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

DatePickerInput
from bootstrap_datepicker_plus.widgets import DatePickerInput
Correct import path as of 5.0.0+
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
from bootstrap_datepicker_plus import DatePickerInput
Pre-5.0 import path; removed in 5.0.0, use .widgets submodule

Basic usage: import widget and use in a Django form. Ensure Bootstrap CSS and JS are included in the template.

from bootstrap_datepicker_plus.widgets import DatePickerInput from django import forms class MyForm(forms.Form): date = forms.DateField(widget=DatePickerInput()) # In views.py from django.shortcuts import render from .forms import MyForm def my_view(request): form = MyForm() return render(request, 'template.html', {'form': form})
Debug
Known issues
breakingIn 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).
affects: >=6.0.0
breakingIn 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'.
affects: >=5.0.0
deprecatedThe '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.
affects: >=5.0.0,<6.0.0
gotchaBootstrap 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/
affects: all
gotchaThe 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/
affects: >=5.0.0
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'bootstrap_datepicker_plus'
Package not installed or not in Python path.
fix
Install the package: pip install django-bootstrap-datepicker-plus
ImportError: cannot import name 'DatePickerInput' from 'bootstrap_datepicker_plus'
Wrong import path; pre-5.0 style import no longer works.
fix
Use correct import: from bootstrap_datepicker_plus.widgets import DatePickerInput
TypeError: __init__() got an unexpected keyword argument 'start_of'
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'.
pydantic.error_wrappers.ValidationError (for pydantic v1) or pydantic_core._pydantic_core.ValidationError (for v2)
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.
Upgrade
Version history
6.0.0latest on PyPI · released Feb 13, 2026
Audit
Dependencies
DjangorequiredCore dependency for Django integration
pydanticrequiredUsed for configuration validation (v2 recommended)
bootstrapoptionalBootstrap CSS framework is required via CDN or local
Agent activity
4 hits · last 30 days
node
2
Amazon
1
Resources
django-bootstrap-datepicker-plus — pip install django-bootstrap-datepicker-plus · libregistry