Skip to content

Instantly share code, notes, and snippets.

@jerinisready
Last active January 22, 2020 07:00
Show Gist options
  • Select an option

  • Save jerinisready/92309798cb6799bf22cf7c5e6e99680c to your computer and use it in GitHub Desktop.

Select an option

Save jerinisready/92309798cb6799bf22cf7c5e6e99680c to your computer and use it in GitHub Desktop.
Sample Django Settings.py
import os
_isenvsetas = lambda key, default=False: str(os.environ.get(key, ...)).upper() == str(default).upper()
AUTH_PASSWORD_VALIDATORS = [
{'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', },
{'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', },
{'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', },
{'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', },
]
CACHES = {
'dummy': {
'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
},
'redis': {
'BACKEND': 'django_redis.cache.RedisCache',
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
'server_max_value_length': 1024 * 1024 * 128, # 128 MB
},
'TIMEOUT': 60 * 60 * 24 * 3, # for 3 days
'MAX_ENTRIES': 3000, # 128 MB
},
'memcached': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
},
'localmem': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'unique-snowflake',
},
'db': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table',
},
'filebased': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': '/var/tmp/django_cache',
},
}
CACHE_MIDDLEWARE_ALIAS = 'redis'
CACHES['default'] = CACHES[CACHE_MIDDLEWARE_ALIAS]
# Internationalization
# https://docs.djangoproject.com/en/2.2/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Asia/Kolkata'
USE_I18N = True
USE_L10N = True
USE_TZ = True
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.2/howto/static-files/
STATIC_URL = '/assets/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [os.path.join(BASE_DIR, "assets"), ]
MEDIA_URL = '/src/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
ROOT_URLCONF = 'django_project.urls'
WSGI_APPLICATION = 'django_project.wsgi.application'
SITE_ID = 1
# PRODUCTION READY
# IN_PRODUCTION = os.environ.get('IN_PRODUCTION', 'FALSE').upper() == 'TRUE'
IN_PRODUCTION = _isenvsetas('IN_PRODUCTION', True)
print("Production is set as : ", IN_PRODUCTION)
SECURE_HSTS_SECONDS = 60
SECURE_CONTENT_TYPE_NOSNIFF = IN_PRODUCTION
SECURE_BROWSER_XSS_FILTER = IN_PRODUCTION
SECURE_SSL_REDIRECT = IN_PRODUCTION
SESSION_COOKIE_SECURE = IN_PRODUCTION
SECURE_HSTS_PRELOAD = IN_PRODUCTION
# CACHING
invalid_cache = False
CACHE_MIDDLEWARE_SECONDS = 60 * 60 * 24 * 3 # 3 day
CACHE_LONGEST_SECONDS = 60 * 60 * 24 * 30 # 30 days
CACHE_COUNT_TIMEOUT = 60 * 60
SOLO_CACHE = 'default'
SOLO_CACHE_TIMEOUT = CACHE_LONGEST_SECONDS
FLATPAGE_URL = 'org' # without leading or trailing slash
APPEND_SLASH = True
FILE_UPLOAD_PERMISSIONS = 0o664
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment