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