A widget for django form date fields that displays three inputs (day, month, year).
Project description
django-splitdate
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.
Quick start
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
Add django_splitdate to your INSTALLED_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()
Global Configuration
The SplitDateField can be configured globally in your settings.py file with the following options
SPLITDATE_ORDER (String or Dict):
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') ))
SPLITDATE_PLACEHOLDER_DAY (String):
A string defining the placeholder of the day field.
Default: _('DD')
SPLITDATE_PLACEHOLDER_MONTH (String):
A string defining the placeholder of the month field.
Default: _('MM')
SPLITDATE_PLACEHOLDER_YEAR (String):
A string defining the placeholder of the year field.
Default: _('YYYY')
Widget configuration
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:
field_ordering (String or Dict):
Local overwrite for SPLITDATE_ORDER. Possible values, see above.
placeholder_day (String):
Local overwrite for SPLITDATE_PLACEHOLDER_DAY. Possible values, see above.
placeholder_month (String):
Local overwrite for SPLITDATE_PLACEHOLDER_MONTH. Possible values, see above.
placeholder_year (String):
Local overwrite for SPLITDATE_PLACEHOLDER_YEAR. Possible values, see above.
Running the tests
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-splitdate-0.1.8.tar.gz
.
File metadata
- Download URL: django-splitdate-0.1.8.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2720ec86aabcd7f0343454278e92225b804c441db484f19f3ceea96fc2cd18a0 |
|
MD5 | b1f35a185504ed6d94691d85ecaa4f21 |
|
BLAKE2b-256 | 1f117d41fb59b78d80e624ec5960b4709a838a8df01b5e8d13e94e1464652ebc |