{"id":23559,"library":"django-bootstrap-datepicker-plus","title":"Django Bootstrap DatePicker Plus","description":"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.","status":"active","version":"6.0.0","language":"python","source_language":"en","source_url":"https://github.com/monim67/django-bootstrap-datepicker-plus","tags":["django","bootstrap","datepicker","timepicker","datetimepicker","tempus-dominus"],"install":[{"cmd":"pip install django-bootstrap-datepicker-plus","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core dependency for Django integration","package":"Django","optional":false},{"reason":"Used for configuration validation (v2 recommended)","package":"pydantic","optional":false},{"reason":"Bootstrap CSS framework is required via CDN or local","package":"bootstrap","optional":true}],"imports":[{"note":"Correct import path as of 5.0.0+","symbol":"DatePickerInput","correct":"from bootstrap_datepicker_plus.widgets import DatePickerInput"},{"note":"","symbol":"DateTimePickerInput","correct":"from bootstrap_datepicker_plus.widgets import DateTimePickerInput"},{"note":"","symbol":"TimePickerInput","correct":"from bootstrap_datepicker_plus.widgets import TimePickerInput"},{"note":"","symbol":"MonthPickerInput","correct":"from bootstrap_datepicker_plus.widgets import MonthPickerInput"},{"note":"","symbol":"YearPickerInput","correct":"from bootstrap_datepicker_plus.widgets import YearPickerInput"},{"note":"Pre-5.0 import path; removed in 5.0.0, use .widgets submodule","wrong":"from bootstrap_datepicker_plus import DatePickerInput","symbol":"DatePickerInput"}],"quickstart":{"code":"from bootstrap_datepicker_plus.widgets import DatePickerInput\nfrom django import forms\n\nclass MyForm(forms.Form):\n    date = forms.DateField(widget=DatePickerInput())\n\n# In views.py\nfrom django.shortcuts import render\nfrom .forms import MyForm\n\ndef my_view(request):\n    form = MyForm()\n    return render(request, 'template.html', {'form': form})","lang":"python","description":"Basic usage: import widget and use in a Django form. Ensure Bootstrap CSS and JS are included in the template."},"warnings":[{"fix":"Upgrade to Python >=3.10 and install pydantic v2 (pip install pydantic>=2).","message":"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.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Change 'from bootstrap_datepicker_plus import DatePickerInput' to 'from bootstrap_datepicker_plus.widgets import DatePickerInput'.","message":"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.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Replace 'picker_opts={ \"start_of\": ... }' with 'picker_opts={ \"minDate\": ... }' or similar, depending on Tempus Dominus v6 options.","message":"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.","severity":"deprecated","affected_versions":">=5.0.0,<6.0.0"},{"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/","message":"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.","severity":"gotcha","affected_versions":"all"},{"fix":"Refer to the official Tempus Dominus v6 options documentation: https://getdatepicker.com/6/options/","message":"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.","severity":"gotcha","affected_versions":">=5.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install the package: pip install django-bootstrap-datepicker-plus","cause":"Package not installed or not in Python path.","error":"ModuleNotFoundError: No module named 'bootstrap_datepicker_plus'"},{"fix":"Use correct import: from bootstrap_datepicker_plus.widgets import DatePickerInput","cause":"Wrong import path; pre-5.0 style import no longer works.","error":"ImportError: cannot import name 'DatePickerInput' from 'bootstrap_datepicker_plus'"},{"fix":"Remove 'start_of' and 'end_of' from picker options. Use alternative Tempus Dominus v6 options like 'minDate' and 'maxDate'.","cause":"The 'start_of' option was removed in version 6.0.0.","error":"TypeError: __init__() got an unexpected keyword argument 'start_of'"},{"fix":"Check the options passed to the widget. Ensure they are valid Tempus Dominus v6 options. Refer to the widget documentation.","cause":"Configuration validation error due to unsupported option or type.","error":"pydantic.error_wrappers.ValidationError (for pydantic v1) or pydantic_core._pydantic_core.ValidationError (for v2)"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}