apps.py 1.1 KB

1234567891011121314151617181920212223242526272829
  1. from __future__ import unicode_literals
  2. from django import apps
  3. class AppConfig(apps.AppConfig):
  4. name = 'axes'
  5. def ready(self):
  6. from django.conf import settings
  7. from django.core.exceptions import ImproperlyConfigured
  8. if settings.CACHES[getattr(settings, 'AXES_CACHE', 'default')]['BACKEND'] == \
  9. 'django.core.cache.backends.locmem.LocMemCache':
  10. raise ImproperlyConfigured(
  11. 'django-axes does not work properly with LocMemCache as the default cache backend'
  12. ' please add e.g. a DummyCache backend for axes and configure it with AXES_CACHE'
  13. )
  14. from django.contrib.auth.views import LoginView
  15. from django.utils.decorators import method_decorator
  16. from axes import signals # pylint: disable=unused-import,unused-variable
  17. from axes.decorators import axes_dispatch
  18. from axes.decorators import axes_form_invalid
  19. LoginView.dispatch = method_decorator(axes_dispatch)(LoginView.dispatch)
  20. LoginView.form_invalid = method_decorator(axes_form_invalid)(LoginView.form_invalid)