Django Ratelimit

Project

Django Ratelimit is a ratelimiting decorator for Django views, storing rate data in the configured Django cache backend.

Code:

https://github.com/jsocol/django-ratelimit

License:

Apache Software License

Issues:

https://github.com/jsocol/django-ratelimit/issues

Documentation:

http://django-ratelimit.readthedocs.org/

Quickstart

Install:

$ pip install django-ratelimit

Use as a decorator in views.py:

from ratelimit.decorators import ratelimit

@ratelimit(key='ip')
def myview(request):
    # ...

@ratelimit(key='ip', rate='100/h')
def secondview(request):
    # ...

After activating django-ratelimit, you should ensure that your cache backend is setup to be both persistent and work across multiple deployment worker instances (for instance UWSGI workers). Read more in the Django docs on caching.

Contents

Indices and tables