This is Django form field wrapper for bootstrap-daterangepicker, for use with Bootstrap 3 and 4.
This module allows for: single date pickers, date range selectors and datetime range selectors.
Ranges are returned as tuples of format (start, end)
, where start
and end
are datetime.date or datetime.datetime objects depending on the field type.
The DateField is a replacement for Django's built-in forms.DateField
, with the only difference being that it accepts an optional clearable
parameter, and the default widget is the DatePickerWidget specified in this module.
pip install django-bootstrap-daterangepicker
- Add
'bootstrap_daterangepicker'
to yourINSTALLED_APPS
- Add the resource links required for bootstrap-daterangepicker into the
<head>
of the relevant HTML files
from django import forms
from bootstrap_daterangepicker import widgets, fields
class DemoForm(forms.Form):
# Date Picker Fields
date_single_normal = fields.DateField()
date_single_with_format = fields.DateField(
input_formats=['%d/%m/%Y'],
widget=widgets.DatePickerWidget(
format='%d/%m/%Y'
)
)
date_single_clearable = fields.DateField(required=False)
# Date Range Fields
date_range_normal = fields.DateRangeField()
date_range_with_format = fields.DateRangeField(
input_formats=['%d/%m/%Y'],
widget=widgets.DateRangeWidget(
format='%d/%m/%Y'
)
)
date_range_clearable = fields.DateRangeField(required=False)
# DateTime Range Fields
datetime_range_normal = fields.DateTimeRangeField()
datetime_range_with_format = fields.DateTimeRangeField(
input_formats=['%d/%m/%Y (%I:%M:%S)'],
widget=widgets.DateTimeRangeWidget(
format='%d/%m/%Y (%I:%M:%S)'
)
)
datetime_range_clearable = fields.DateTimeRangeField(required=False)
- Bootstrap >= 3
- jQuery >= 1
- Moment.js >= 2.10.6
- bootstrap-daterangepicker >= 2
- Django >= 1.8