This app provides a form widget that uses three text inputs to enter the day, month and year of a date for a standard DateField. The field is based on Django's forms.SplitDateTimeWidget.
-
Install django-splitdate:
- From the pip repository:
pip install django_splitdate
- or directly from github: ```pip install git+git://github.com/NB-Dev/django-splitdate.git``
- From the pip repository:
-
Add
django_splitdate
to yourINSTALLED_APPS
:INSTALLED_APPS = ( ... 'django_splitdate', )
-
(optional) Customize the Settings (see below)
-
Use the SplitDateField in your Forms:
from django_splitdate.forms import SplitDateField date = forms.SplitDateField()
The SplitDateField can be configured globally in your settings.py file with the following options
Defines the ordering of the day, month and year fields.
The order of the fields is defined by a three character string, that contains the characters 'd'(day), 'm'(month), 'y'(year) in the desired order.
The setting can either be such a string to be used on each SplitDateField no matter what language is selected, or a dictionary containing key, value pairs with a locale name as key and the corresponding order string as value to be used depending on the current locale
Default:
dict((
('en', 'mdy'),
('de', 'dmy')
))
A string defining the placeholder of the day field.
Default: _('DD')
A string defining the placeholder of the month field.
Default: _('MM')
A string defining the placeholder of the year field.
Default: _('YYYY')
If you want to customize the widget of the SplitDateField, use the SplitDateWidget.
e.g. add a class:
from django_splitdate.forms import SplitDateField, SplitDateWidget
date = forms.SplitDateField(widget=SplitDateWidget(attrs={'class':'myclass'}))
Additionally the widget takes the following local overwrites of the global configurations at initialization:
Local overwrite for SPLITDATE_ORDER. Possible values, see above.
Local overwrite for SPLITDATE_PLACEHOLDER_DAY. Possible values, see above.
Local overwrite for SPLITDATE_PLACEHOLDER_MONTH. Possible values, see above.
Local overwrite for SPLITDATE_PLACEHOLDER_YEAR. Possible values, see above.
The included tests can be run standalone by running the tests/runtests.py
script. The only requirement for this is
Django >= 1.7. If you also want to run coverage, you need to install it before running the tests
This Project is maintaned by Northbridge Development Konrad & Schneider GbR Softwareentwicklung