Skip to main content

This django widget contains Bootstrap 3, Bootstrap 4 and Bootstrap 5 Date-Picker, Time-Picker, DateTime-Picker, Month-Picker and Year-Picker input with date-range-picker functionality for django version >= 2.0. The widget implements bootstrap-datetimepicker v4 to show bootstrap-datepicker in django model forms and custom forms which can be configured easily for date-range selection.

If you are not using Bootstrap use django-flatpickr instead.

Build Status Documentation Status Coverage Status
Python Versions DJango Versions Licence
Date-picker Datetime-picker Time-picker

Demo

Getting Started

Usage

Usage in Generic View

# File: views.py
from bootstrap_datepicker_plus.widgets import DateTimePickerInput
from django.views import generic
from .models import Question

class CreateView(generic.edit.CreateView):
    model = Question
    fields = ["question_text", "pub_date"]
    def get_form(self):
        form = super().get_form()
        form.fields["pub_date"].widget = DateTimePickerInput()
        return form

Advanced Usage

Types of DatePickers

The widget contains all types of date-picker you may ever need.

# File: forms.py
from bootstrap_datepicker_plus.widgets import DatePickerInput, TimePickerInput, DateTimePickerInput, MonthPickerInput, YearPickerInput
from django import forms

class EventForm(forms.ModelForm):
    class Meta:
        model = Event
        fields = ["start_date", "start_time", "start_datetime", "start_month", "start_year"]
        widgets = {
            "start_date": DatePickerInput(),
            "start_time": TimePickerInput(),
            "start_datetime": DateTimePickerInput(),
            "start_month": MonthPickerInput(),
            "start_year": YearPickerInput(),
        }

Implement date-range-picker

DatePickers can be linked to select a date-range or time-range.

# File: forms.py
from bootstrap_datepicker_plus.widgets import DatePickerInput, TimePickerInput
from django import forms

class EventForm(forms.ModelForm):
    class Meta:
        model = Event
        fields = ["name", "start_date", "end_date", "start_time", "end_time"]
        widgets = {
            "start_date": DatePickerInput(),
            "end_date": DatePickerInput(range_from="start_date"),
            "start_time": TimePickerInput(),
            "end_time": TimePickerInput(range_from="start_time"),
        }

Customization

Contributing

License

This project is licensed under MIT LICENSE file for details.

Acknowledgments

This project implements Eonasdan/bootstrap-datetimepicker to display date-pickers. The project was initially forked from pbucher/django-bootstrap-datepicker and later reworked completely under MIT Licence.

Buy Me A Coffee

Metadata

Release files for django-bootstrap-datepicker-plus 6.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-bootstrap-datepicker-plus 6.0.0
File Size Uploaded
django_bootstrap_datepicker_plus-6.0.0.tar.gz 12.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-bootstrap-datepicker-plus 6.0.0
File Interpreter ABI Platform
django_bootstrap_datepicker_plus-6.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 26.1 kB

Release files / django_bootstrap_datepicker_plus-6.0.0.tar.gz

Download URL django_bootstrap_datepicker_plus-6.0.0.tar.gz
Size 12.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7859e81edb660615e54eaf76cd50483c25cac3692e4c61f0b7771c271e0730ff
BLAKE2b-256 checksum
How to use checksums
5155dc67f7772754eb0ffaf6b486288fa499a9331fd28a13f9aa638b85355ff3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 13, 2026.

Transparency log

Release files / django_bootstrap_datepicker_plus-6.0.0-py3-none-any.whl

Download URL django_bootstrap_datepicker_plus-6.0.0-py3-none-any.whl
Size 13.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e5e26c70fb98472b1408d2ddc406c0f9b06980d9e34d806fb351908b72e70cf
BLAKE2b-256 checksum
How to use checksums
ce32dcf274f6f24283037a5b61cbf4c9b701d027b0a1f20dc755ad1cf1ae39ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

6.0.0 This release

2 release files

5.0.6

2 release files

5.0.5

2 release files

5.0.4

2 release files

5.0.3

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.0.0

2 release files

3.0.6

2 release files

3.0.5

2 release files

3.0.4

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page