django-human-datetime

Uses the parsedatetime package to parse human readable date/time expressions into Django fields


License
Other
Install
pip install django-human-datetime==0.1

Documentation

Django Human DateTime Parsing

Authors: Justin Quick <justquick@gmail.com>
Version: 0.1

This tool uses the parsedatetime package to turn human readable form input (like 'tomorrow 7PM') into datetime objects (like datetime.datetime(2010, 4, 9, 19, ...)). This app requires parsedatetime and pytz. The app comes with a set of fields to replace Django's own DateTimeField, DateField, and TimeField. Get them by using:

from humandt.fields import HumanDateTimeField, HumanTimeField, HumanDateField

Then use them however you like as form fields in your own Django Forms:

from django.forms import Form

class ExampleForm(Form):
    datetime = HumanDateTimeField(required=False)
    time = HumanTimeField(required=False)
    date = HumanDateField(required=False)

Example Project

Download the most recent sourcecode and start up the development server. Make sure you have the most recent version of django:

git clone git://github.com/justquick/django-human-datetime.git
cd django-human-datetime
pip install parsedatetime pytz django
python setup.py install
cd example_project
python manage.py runserver

If all goes well it will be available at http://127.0.0.1:8000/. There is an example form up there that just spits out the parsed date/time input. Look at the example_project.views for useage example. To test the humandt app, stop the server and run this:

python manage.py test humandt

Tested working with Django 1.5.