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=["ctrackdft.net"]) # DEMO HOSTING STUFF #SECRET_KEY = "asd38398398fjKJFKjfkajf)039afjskjd00039rjjfj" ALLOWED_HOSTS = ['46.101.17.241', 'ctrackdemo.ronver.xyz'] #STATIC_ROOT = '/home/lemon/django/static' #MEDIA_ROOT = '/home/lemon/django/media' #DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.postgresql', # 'NAME': 'ctrack', # 'USER': 'postgres', # 'PASSWORD': 'postgres', # 'HOST': '127.0.0.1', # 'PORT': '5432', # } # } # # DATABASES # ------------------------------------------------------------------------------ DATABASES["default"] = env.db("DATABASE_URL") # noqa F405 DATABASES["default"]["ATOMIC_REQUESTS"] = True # noqa F405 DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=60) # noqa F405 # CACHES # ------------------------------------------------------------------------------ CACHES = { "default": { "BACKEND": "django.core.cache.backends.locmem.LocMemCache", "LOCATION": "", } } #CACHES = { # "default": { # "BACKEND": "django_redis.cache.RedisCache", # "LOCATION": env("REDIS_URL"), # "OPTIONS": { # "CLIENT_CLASS": "django_redis.client.DefaultClient", # # Mimicing memcache behavior. # # http://niwinz.github.io/django-redis/latest/#_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 = False #CSRF_COOKIE_DOMAIN = "ctrackdemo.ronver.xyz" # https://docs.djangoproject.com/en/dev/topics/security/#ssl-https # https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-seconds # TODO: set this to 60 seconds first and then to 518400 once you prove the former works SECURE_HSTS_SECONDS = 60 # 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 #) # STORAGES # ------------------------------------------------------------------------------ # https://django-storages.readthedocs.io/en/latest/#installation #INSTALLED_APPS += ["storages"] # noqa F405 #GS_BUCKET_NAME = env("DJANGO_GCP_STORAGE_BUCKET_NAME") #GS_DEFAULT_ACL = "publicRead" # STATIC # ------------------------ #STATICFILES_STORAGE = "config.settings.production.StaticRootGoogleCloudStorage" #COLLECTFAST_STRATEGY = "collectfast.strategies.gcloud.GoogleCloudStrategy" #STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/" # MEDIA # ------------------------------------------------------------------------------ #from storages.backends.gcloud import GoogleCloudStorage # noqa E402 # # #class StaticRootGoogleCloudStorage(GoogleCloudStorage): # location = "static" # default_acl = "publicRead" # # #class MediaRootGoogleCloudStorage(GoogleCloudStorage): # location = "media" # file_overwrite = False # # #DEFAULT_FILE_STORAGE = "config.settings.production.MediaRootGoogleCloudStorage" #MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/" # TEMPLATES # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#templates TEMPLATES[-1]["OPTIONS"]["loaders"] = [ # type: ignore[index] # noqa F405 ( "django.template.loaders.cached.Loader", [ "django.template.loaders.filesystem.Loader", "django.template.loaders.app_directories.Loader", ], ) ] # EMAIL # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/dev/ref/settings/#default-from-email #DEFAULT_FROM_EMAIL = env( # "DJANGO_DEFAULT_FROM_EMAIL", default="ctrack " #) ## https://docs.djangoproject.com/en/dev/ref/settings/#server-email #SERVER_EMAIL = env("DJANGO_SERVER_EMAIL", default=DEFAULT_FROM_EMAIL) ## https://docs.djangoproject.com/en/dev/ref/settings/#email-subject-prefix #EMAIL_SUBJECT_PREFIX = env( # "DJANGO_EMAIL_SUBJECT_PREFIX", default="[ctrack]" #) # ADMIN # ------------------------------------------------------------------------------ # Django Admin URL regex. ADMIN_URL = env("DJANGO_ADMIN_URL") # Anymail (Mailgun) # ------------------------------------------------------------------------------ # https://anymail.readthedocs.io/en/stable/installation/#installing-anymail #INSTALLED_APPS += ["anymail"] # noqa F405 #EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend" ## https://anymail.readthedocs.io/en/stable/installation/#anymail-settings-reference #ANYMAIL = { # "MAILGUN_API_KEY": env("MAILGUN_API_KEY"), # "MAILGUN_SENDER_DOMAIN": env("MAILGUN_DOMAIN"), # "MAILGUN_API_URL": env("MAILGUN_API_URL", default="https://api.mailgun.net/v3"), #} # Collectfast # ------------------------------------------------------------------------------ # https://github.com/antonagestam/collectfast#installation INSTALLED_APPS = ["collectfast"] + INSTALLED_APPS # noqa F405 # 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, }, }, } # Your stuff... # ------------------------------------------------------------------------------