django-dnd is a Django application for authenticating users against the Dartmouth Name Directory. django-dnd uses django cas for authentication, and will automatically fetch first name, last name, and blitz from the DND (Dartmouth Name Directory) and populate the auth.User.


The dependencies for django-dnd aren't super-modern, so they won't install properly with pip. You have to manually install a package first:

$ pip install pycrypto

Then, to get the latest release:

$ pip install django-dnd

To get the bleeding edge:

$ pip install -e hg+https://bitbucket.org/quentonc/django-dnd

Add the django_cas middleware and django_dnd authentication backends to your settings, and make sure you have the AuthenticationMiddleware as well. Here's what mine looks like:



Add django_dnd to your installed apps:


Run syndb to install the DND model.

There are no required settings for django-dnd. Optional settings include:

  • DND_SERVER: The URL of your dnd server. This is defaults to dnd.dartmouth.edu
  • DND_DB_TABLE: The db_table for dnd.DND. Default is dartmouth_dnd
  • CAS_SERVER_URL: The base URL of our CAS source. Default is https://login.dartmouth.edu/cas/

Other optional settings are defined by django cas.

Make sure your project knows how to log users in and out by adding these to your URL mappings:

(r'^accounts/login/$', 'django_cas.views.login'),
(r'^accounts/logout/$', 'django_cas.views.logout'),

Users should now be able to log into your site (and staff into the administration interface) using CAS.

Additional configuration

For additional options for hooking CAS into your app, follow the instructions on the django cas page.


django-dnd was created by Pete Gadomski <pete.gadomski@gmail.com>.