Django-Todo

django-todo is a multi-user, multi-group task management and assignment system for the Django web application framework.

Designed as a “pluggable” application ready to import into existing Django projects.

You must already have a  login/authorization system installed and working in your project before installing django-todo.

django-todo supports drag and drop task prioritization, email notification to task assignees, search, and lots more. Feedback welcome.

The code is hosted on GitHub and can be downloaded or checked out via git. The package also includes a setup.py, and can be installed with pip.

Screenshots

These screenshots aren’t quite up to date, but are fairly close to the current version.

Posted: 09-14-08 · 19 Comments »

19 Responses to “Django-Todo”

  1. Jasper wrote:

    Good stuff!
    Just what we where looking for – kind of. And built on Django is even better as we are looking at that platform for future development. Will install and feedback later in the week.
    /J

    September 15th, 2008 at 2:02 am
  2. lzantal wrote:

    Looks really good.
    I am going to give it a try for my projects.

    Thank you for sharing it

    lzantal

    January 5th, 2010 at 9:56 am
  3. Mridang wrote:

    Hey Scott,

    Could we have the stylesheets that you’re using in the demos? I don’t think that it’s bundles with the source.

    Cheers.

    April 3rd, 2010 at 12:25 am
  4. shacker wrote:

    The stylesheets are there! They’re in media/todo/css. And the readme tells you how to attach them to your project.

    April 3rd, 2010 at 8:09 am
  5. Alexey wrote:

    App is great and we use it in a couple of projects!

    Are you going to develop it further? No plans?

    July 26th, 2010 at 11:00 pm
  6. shacker wrote:

    Hey Alexey – Thanks for the props! I actually do have a number of changes and improvements I’ve made to our production version… just need to find time to package up the changes and re-integrate. Now that I now there’s someone out there who cares, it gives me a bit of added incentive :) So stay tuned.

    Any particular features you’d like to see in it?

    July 27th, 2010 at 9:00 am
  7. shacker wrote:

    For anyone following the comments on this – I’ve finally updated django-todo with bug fixes and new features, made it pip installable, and have moved the codebase to github:

    http://github.com/shacker/django-todo

    September 28th, 2010 at 12:01 pm
  8. Nico wrote:

    Hey, thanks for your project! I’ m in little trouble with it… I cannot add item to list directly, only through http://127.0.0.1:8000/admin/todo/item/

    what can it be?

    April 22nd, 2011 at 6:53 am
  9. shacker wrote:

    Nico, you’ll need to be more specific. You’ve got it wired up, templates working, etc. And you do get an item entry form, I assume. So what happens when you try to add an item – do you get any debug output?

    April 22nd, 2011 at 8:43 am
  10. Nico wrote:

    when i try to add an item, the form appears, i fill it, click “add item”, the form hides with no errors, no errors in console…

    April 23rd, 2011 at 3:13 am
  11. shacker wrote:

    Hmm, that’s pretty mystifying. Have you renamed any form objects, or tweaked anything away from the defaults? If you put a print statement in the view that prints out the form object or its attributes, what do you get?

    Sorry about this – I haven’t heard of this problem before, and I have the code in production on several sites, where it works fine.

    April 24th, 2011 at 3:57 pm
  12. Nico wrote:

    shame on me! Sorry for dumb questions. I thought that there’s some JS problem. That was it actually. Date format you use is mm/dd/yyyy. My localized datepicker uses dd.mm.yyyy.

    Thanks again…

    April 24th, 2011 at 11:21 pm
  13. shacker wrote:

    Aha! Glad there was a logical explanation :)

    April 24th, 2011 at 11:36 pm
  14. Nouga wrote:

    This is my first day with django, so kindly bear my noob questions.

    I followed the installation guide but when trying to access http://127.0.0.1:8000/todo/ I am getting:

    Caught RuntimeError while rendering: maximum recursion depth exceeded while calling a Python object

    Also, I am not sure where to add the 2 lines in the installation guide (7th) step:
    To-do Lists
    My Tasks
    Right now, they are not anywhere in my djagno dirs.

    The recursion error appeared right after I have edited templates in settings.py as:

    TEMPLATE_DIRS = (
    ‘/path/to/project/todo/templates/todo’,
    )

    Other than this value, I get Template not found error.

    Any help is highly appreciated and thanks in advance.

    December 3rd, 2011 at 7:43 pm
  15. shacker wrote:

    Nouga – My guess is that the runtime error comes from trying to extend the same template you’re working with (you didn’t show that part of the template code, so I’m guessing here).

    The two links can go anywhere in your site templates you want – they just provide links into django-todo interfaces.

    December 4th, 2011 at 12:34 am
  16. Nouga wrote:

    Thank you Scot for quick response, and apologies for late mine. I get to work with Python only on weekends..

    There is some progress now but I still can’t use the todo app. Here is what happens:

    1- From the admin interface I created a group called “coworkers”, a regular user named “nadal” and he belongs to the coworkers group.

    2- From the admin as well I created a todo list called “coworkers todo list”

    3- Whenever I try to access http://localhost/todo, I get the two links I added in my templates/base.html which are:
    - To-do Lists
    - My Tasks

    4- Whenever I try to access any of them, the page simply reloads.

    5- I check the terminal, and I find that I am receiving 200 OK http response!

    [11/Dec/2011 18:21:46] “GET /todo/mine/ HTTP/1.1″ 200 68

    *** I am not sure why this is happening, I suppose at this point I should see the todo app normally.

    To make sure I can access the media, I placed an image under my media dir and viewed it from the browser. I was also able to view contents of:
    {{MEDIA_URL}}/todo/css/styles.css

    P.S. I did not copy todo templates into my media dir, instead I did symlink it as mentioned in the requirements page. May be this is the reason I still can not get the app to work? ***

    Here is how my files look now:

    1) mysite/urls.py
    ——————
    from django.conf.urls.defaults import patterns, include, url
    from django.conf import settings

    …[snip]….

    # todo
    url(r’^todo/’, include(‘todo.urls’)),

    # Uncomment the next lines to enable media:
    )
    if settings.DEBUG:
    urlpatterns += patterns(”,
    url(r’^media/(?P.*)$’, ‘django.views.static.serve’, {
    ‘document_root’: settings.MEDIA_ROOT,
    }),
    )

    2) mysite/settings.py
    ———————-
    TEMPLATE_DIRS = (
    ‘/home/angie/templates’,
    )

    INSTALLED_APPS = (
    ‘django.contrib.auth’,
    ‘django.contrib.contenttypes’,
    ‘django.contrib.sessions’,
    ‘django.contrib.sites’,
    ‘django.contrib.messages’,
    ‘django.contrib.staticfiles’,
    # Uncomment the next line to enable the admin:
    ‘django.contrib.admin’,
    # Uncomment the next line to enable admin documentation:
    ‘django.contrib.admindocs’,
    ‘todo’,
    )

    MEDIA_ROOT = ‘/home/angie/media/’

    MEDIA_URL = ‘/media/’

    3) /home/angie/templates/base.html
    —————————————
    To-do Lists
    My Tasks

    Thanks for your time :)

    December 11th, 2011 at 9:34 am
  17. shacker wrote:

    Nouga – You say “the page simply reloads.” This indicates to me that the links are not actually linking to anything. If you view source on the page and check the hrefs, do they have anything in them?

    December 11th, 2011 at 10:37 am
  18. Nouga wrote:

    Hi Scot,

    The file base.html contains these without the extra spaces:

    To-do Lists
    My Tasks

    December 20th, 2011 at 2:10 pm
  19. shacker wrote:

    Thanks for the bug report. I’m actually working on an update to the app now – will fix this while I”m in there.

    December 20th, 2011 at 2:11 pm

Leave a Reply