Package: django-bootstrap3-multidatepicker
django-bootstrap3-datepicker============================Datepicker that supports the selection of multiple dates for Django,using Bootstrap Twitter.The aim of this package is to provide widgets and form fields for Djangothat use`bootstrap-datepicker <http://bootstrap-datepicker.readthedocs.org/en/latest/index.html>`__.There are some packages that already try to do this, however I've neverfound one with working multidate support. The package's homepage can befound`here <https://github.com/FabianWe/django-bootstrap3-multidatepicker>`__on GitHub.I'll slightly follow the package as provide`here <https://github.com/nkunihiko/django-bootstrap3-datetimepicker>`__.This package supports single date selection, mine will cover multidateselection. Because that's not so much change I'll actually copy a lotfrom this code base.Notice======This package does what I want for a specific purpose, if you have anysuggestions contact me! This package is still in an early beta.Credits=======I've used some libraries and I wish to thank the people who wrote them!\* Of course the `Django <https://www.djangoproject.com/>`__ developers\*`bootstrap3\_datepicker <http://bootstrap-datepicker.readthedocs.org/en/latest/index.html>`__\* `JavaScript DateFormat <http://blog.stevenlevithan.com/archives/date-time-format>`__And all the people I've forgotten ;).License=======Licensed under the `Apache License, Version2.0 <http://www.apache.org/licenses/LICENSE-2.0>`__.Example Usage=============There is a small demo included in this package. However make sure that``'django_bootstrap3_multidatepicker'`` and ``'bootstrap3'`` arecontained in your ``'INSTALLED_APPS'``.You should also change the bootstrap3 default behaviour and take carethat ``'javascript_in_head'`` is set to ``True``, i.e. put in your*settings.py*:.. code:: pythonBOOTSTRAP3 = {'javascript_in_head': True,}There is a widget called ``BootstrapDatepickerInput`` and a form field``DateListField``. They should be used together, otherwise I can'tguarantee anything ;).The ``DateListField`` stores the dates as python list of``datetime.date`` objects. The hidden input stores a json listcontaining all the selected dates in the form ``"yyyy/mm/dd"``, e.g.``"2016/02/22"``. It's method ``to_python`` gets the string from thehidden input, tries to parse them in the given format and returns thelist of all dates.Here's a small example that displays a calendar and lets the user selectthe inputs... code:: pythonfrom django import formsfrom from django_bootstrap3_multidatepicker.django_bootstrap3_multidatepicker import widgets, fields import widgets, fieldsclass YourForm(forms.Form):dates = fields.DateListField(label='Select Dates')Adding a template etc. will give you a calendar like this:.. figure:: doc/imgs/widget_example.png:alt: Example of the widgetExample of the widgetA view could look like this:.. code:: pythonclass MultiDateForm(FormView):template_name = YourTemplateform_class = YourFormdef form_valid(self, form):dates = form.cleaned_data['dates']return render(self.request, YourSuccessTemplate, {'dates': dates})In YourSuccessTemplate you can do something like this:.. code:: htmlThe following dates were selected:{% if dates %}<ul>{% for date in dates %}<li>{{ date|date:"SHORT_DATE_FORMAT" }}</li>{% endfor %}</ul>{% endif %}Your result will look something like this: |Success page|.. |Success page| image:: doc/imgs/success.png