mirror of
https://github.com/jazzband/django-defender.git
synced 2026-03-16 22:10:32 +00:00
82 lines
2.2 KiB
Python
82 lines
2.2 KiB
Python
import os
|
|
from celery import Celery
|
|
|
|
PROJECT_DIR = lambda base: os.path.abspath(
|
|
os.path.join(os.path.dirname(__file__), base).replace("\\", "/")
|
|
)
|
|
|
|
|
|
MEDIA_ROOT = PROJECT_DIR(os.path.join("media"))
|
|
MEDIA_URL = "/media/"
|
|
STATIC_ROOT = PROJECT_DIR(os.path.join("static"))
|
|
STATIC_URL = "/static/"
|
|
|
|
STATICFILES_DIRS = (PROJECT_DIR(os.path.join("media", "static")),)
|
|
|
|
DATABASES = {
|
|
"default": {
|
|
"ENGINE": "django.db.backends.sqlite3",
|
|
"NAME": PROJECT_DIR("defender.sb"),
|
|
}
|
|
}
|
|
|
|
|
|
SITE_ID = 1
|
|
|
|
MIDDLEWARE = (
|
|
"django.middleware.common.CommonMiddleware",
|
|
"django.contrib.sessions.middleware.SessionMiddleware",
|
|
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
|
"defender.middleware.FailedLoginMiddleware",
|
|
)
|
|
|
|
ROOT_URLCONF = "exampleapp.urls"
|
|
|
|
INSTALLED_APPS = [
|
|
"django.contrib.auth",
|
|
"django.contrib.contenttypes",
|
|
"django.contrib.sessions",
|
|
"django.contrib.sites",
|
|
"django.contrib.messages",
|
|
"django.contrib.admin",
|
|
"django.contrib.staticfiles",
|
|
"defender",
|
|
]
|
|
|
|
# List of finder classes that know how to find static files in
|
|
# various locations.
|
|
STATICFILES_FINDERS = (
|
|
"django.contrib.staticfiles.finders.FileSystemFinder",
|
|
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
|
|
)
|
|
|
|
SECRET_KEY = os.environ.get("SECRET_KEY", "too-secret-for-test")
|
|
|
|
LOGIN_REDIRECT_URL = "/admin"
|
|
|
|
DEFENDER_LOGIN_FAILURE_LIMIT = 1
|
|
DEFENDER_COOLOFF_TIME = 60
|
|
DEFENDER_REDIS_URL = "redis://localhost:6379/1"
|
|
# don't use mock redis in unit tests, we will use real redis on travis.
|
|
DEFENDER_MOCK_REDIS = False
|
|
# Let's use custom function and strip username string from request.
|
|
DEFENDER_GET_USERNAME_FROM_REQUEST_PATH = (
|
|
"exampleapp.utils.strip_username_from_request"
|
|
)
|
|
|
|
# Celery settings:
|
|
CELERY_ALWAYS_EAGER = True
|
|
BROKER_BACKEND = "memory"
|
|
BROKER_URL = "memory://"
|
|
|
|
# set the default Django settings module for the 'celery' program.
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "exampleapp.settings")
|
|
|
|
app = Celery("defender")
|
|
|
|
# Using a string here means the worker will not have to
|
|
# pickle the object when using Windows.
|
|
app.config_from_object("django.conf:settings")
|
|
app.autodiscover_tasks(lambda: INSTALLED_APPS)
|
|
|
|
DEBUG = True
|