Django HTTP digest

Goal of this project is to provide HTTP digest support for Django 1.0.

Unlike other implementations, this one is not intended only for authorizing users, but as general view-protection backend, usable also for RESTful WS APIs in a simple manner:

from django.http import HttpResponse
from djangohttpdigest.decorators import protect_digest

@protect_digest(realm='simple', username='username', password='password')
def simpleprotected(request):
    return HttpResponse('')

Or, be more in real world and have Your access data stored in Models, already hashed:

from django.http import HttpResponse
from djangohttpdigest.decorators import protect_digest_model

class ModelWithRealmSet(models.Model):
    realm = models.CharField(max_length=30)
    username = models.CharField(max_length=30)
    secret = models.CharField(max_length=50)

@protect_digest_model(realm='simple',
      model=ModelWithRealmSet,
      realm_field='realm',
      username_field='username',
      secret_field='secret'
)
def modelprotected(request):
    return HttpResponse('')

Grab it from Download

Progress is downloadable using Mercurial from http://devel.almad.net/hg/django-http-digest/.