mirror of
				https://github.com/mistakes-23/backend.git
				synced 2025-10-31 15:37:27 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			116 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from .base import *  # noqa
 | |
| from .base import env
 | |
| 
 | |
| # GENERAL
 | |
| # ------------------------------------------------------------------------------
 | |
| # https://docs.djangoproject.com/en/dev/ref/settings/#secret-key
 | |
| SECRET_KEY = env("DJANGO_SECRET_KEY")
 | |
| # https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
 | |
| ALLOWED_HOSTS = env.list("DJANGO_ALLOWED_HOSTS", default=["dev2.akarpov.ru"])
 | |
| 
 | |
| # DATABASES
 | |
| # ------------------------------------------------------------------------------
 | |
| DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=60)  # noqa F405
 | |
| 
 | |
| # CACHES
 | |
| # ------------------------------------------------------------------------------
 | |
| CACHES = {
 | |
|     "default": {
 | |
|         "BACKEND": "django_redis.cache.RedisCache",
 | |
|         "LOCATION": env("REDIS_URL"),
 | |
|         "OPTIONS": {
 | |
|             "CLIENT_CLASS": "django_redis.client.DefaultClient",
 | |
|             # Mimicing memcache behavior.
 | |
|             # https://github.com/jazzband/django-redis#memcached-exceptions-behavior
 | |
|             "IGNORE_EXCEPTIONS": True,
 | |
|         },
 | |
|     }
 | |
| }
 | |
| 
 | |
| # SECURITY
 | |
| # ------------------------------------------------------------------------------
 | |
| # https://docs.djangoproject.com/en/dev/ref/settings/#secure-proxy-ssl-header
 | |
| SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
 | |
| # https://docs.djangoproject.com/en/dev/ref/settings/#secure-ssl-redirect
 | |
| SECURE_SSL_REDIRECT = env.bool("DJANGO_SECURE_SSL_REDIRECT", default=True)
 | |
| # https://docs.djangoproject.com/en/dev/ref/settings/#session-cookie-secure
 | |
| SESSION_COOKIE_SECURE = True
 | |
| # https://docs.djangoproject.com/en/dev/ref/settings/#csrf-cookie-secure
 | |
| CSRF_COOKIE_SECURE = True
 | |
| # https://docs.djangoproject.com/en/dev/topics/security/#ssl-https
 | |
| # https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-seconds
 | |
| SECURE_HSTS_SECONDS = 518400
 | |
| # https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-include-subdomains
 | |
| SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool(
 | |
|     "DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS", default=True
 | |
| )
 | |
| # https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-preload
 | |
| SECURE_HSTS_PRELOAD = env.bool("DJANGO_SECURE_HSTS_PRELOAD", default=True)
 | |
| # https://docs.djangoproject.com/en/dev/ref/middleware/#x-content-type-options-nosniff
 | |
| SECURE_CONTENT_TYPE_NOSNIFF = env.bool(
 | |
|     "DJANGO_SECURE_CONTENT_TYPE_NOSNIFF", default=True
 | |
| )
 | |
| 
 | |
| # STATIC
 | |
| # ------------------------
 | |
| STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
 | |
| # MEDIA
 | |
| # ------------------------------------------------------------------------------
 | |
| 
 | |
| # ADMIN
 | |
| # ------------------------------------------------------------------------------
 | |
| # Django Admin URL regex.
 | |
| ADMIN_URL = env("DJANGO_ADMIN_URL")
 | |
| # LOGGING
 | |
| # ------------------------------------------------------------------------------
 | |
| # https://docs.djangoproject.com/en/dev/ref/settings/#logging
 | |
| # See https://docs.djangoproject.com/en/dev/topics/logging for
 | |
| # more details on how to customize your logging configuration.
 | |
| # A sample logging configuration. The only tangible logging
 | |
| # performed by this configuration is to send an email to
 | |
| # the site admins on every HTTP 500 error when DEBUG=False.
 | |
| LOGGING = {
 | |
|     "version": 1,
 | |
|     "disable_existing_loggers": False,
 | |
|     "filters": {"require_debug_false": {"()": "django.utils.log.RequireDebugFalse"}},
 | |
|     "formatters": {
 | |
|         "verbose": {
 | |
|             "format": "%(levelname)s %(asctime)s %(module)s "
 | |
|             "%(process)d %(thread)d %(message)s"
 | |
|         }
 | |
|     },
 | |
|     "handlers": {
 | |
|         "mail_admins": {
 | |
|             "level": "ERROR",
 | |
|             "filters": ["require_debug_false"],
 | |
|             "class": "django.utils.log.AdminEmailHandler",
 | |
|         },
 | |
|         "console": {
 | |
|             "level": "DEBUG",
 | |
|             "class": "logging.StreamHandler",
 | |
|             "formatter": "verbose",
 | |
|         },
 | |
|     },
 | |
|     "root": {"level": "INFO", "handlers": ["console"]},
 | |
|     "loggers": {
 | |
|         "django.request": {
 | |
|             "handlers": ["mail_admins"],
 | |
|             "level": "ERROR",
 | |
|             "propagate": True,
 | |
|         },
 | |
|         "django.security.DisallowedHost": {
 | |
|             "level": "ERROR",
 | |
|             "handlers": ["console", "mail_admins"],
 | |
|             "propagate": True,
 | |
|         },
 | |
|     },
 | |
| }
 | |
| 
 | |
| 
 | |
| # django-rest-framework
 | |
| # -------------------------------------------------------------------------------
 | |
| # Tools that generate code samples can use SERVERS to point to the correct domain
 | |
| SPECTACULAR_SETTINGS["SERVERS"] = [  # noqa F405
 | |
|     {"url": "https://dev2.akarpov.ru", "description": "Production server"}
 | |
| ]
 |