github.com/pyroscope-io/pyroscope@v0.37.3-0.20230725203016-5f6947968bd0/examples/python/rideshare/django/app/hello_django/settings.py (about) 1 """ 2 Django settings for hello_django project. 3 4 Generated by 'django-admin startproject' using Django 3.2.6. 5 6 For more information on this file, see 7 https://docs.djangoproject.com/en/3.2/topics/settings/ 8 9 For the full list of settings and their values, see 10 https://docs.djangoproject.com/en/3.2/ref/settings/ 11 """ 12 13 import os 14 import pyroscope 15 from pathlib import Path 16 17 18 # Build paths inside the project like this: BASE_DIR / 'subdir'. 19 BASE_DIR = Path(__file__).resolve().parent.parent 20 21 22 # Quick-start development settings - unsuitable for production 23 # See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ 24 25 SECRET_KEY = os.environ.get("SECRET_KEY") 26 27 DEBUG = int(os.environ.get("DEBUG", default=0)) 28 29 # 'DJANGO_ALLOWED_HOSTS' should be a single string of hosts with a space between each. 30 # For example: 'DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 [::1]' 31 ALLOWED_HOSTS = os.environ.get("DJANGO_ALLOWED_HOSTS").split(" ") 32 33 34 # Application definition 35 36 INSTALLED_APPS = [ 37 "django.contrib.admin", 38 "django.contrib.auth", 39 "django.contrib.contenttypes", 40 "django.contrib.sessions", 41 "django.contrib.messages", 42 "django.contrib.staticfiles", 43 "rest_framework", 44 "ride_share", 45 ] 46 47 MIDDLEWARE = [ 48 'django.middleware.security.SecurityMiddleware', 49 'django.contrib.sessions.middleware.SessionMiddleware', 50 'django.middleware.common.CommonMiddleware', 51 'django.middleware.csrf.CsrfViewMiddleware', 52 'django.contrib.auth.middleware.AuthenticationMiddleware', 53 'django.contrib.messages.middleware.MessageMiddleware', 54 'django.middleware.clickjacking.XFrameOptionsMiddleware', 55 ] 56 57 ROOT_URLCONF = 'hello_django.urls' 58 59 TEMPLATES = [ 60 { 61 'BACKEND': 'django.template.backends.django.DjangoTemplates', 62 'DIRS': [], 63 'APP_DIRS': True, 64 'OPTIONS': { 65 'context_processors': [ 66 'django.template.context_processors.debug', 67 'django.template.context_processors.request', 68 'django.contrib.auth.context_processors.auth', 69 'django.contrib.messages.context_processors.messages', 70 ], 71 }, 72 }, 73 ] 74 75 WSGI_APPLICATION = 'hello_django.wsgi.application' 76 77 78 # Database 79 # https://docs.djangoproject.com/en/3.2/ref/settings/#databases 80 81 DATABASES = { 82 "default": { 83 "ENGINE": os.environ.get("SQL_ENGINE", "django.db.backends.sqlite3"), 84 "NAME": os.environ.get("SQL_DATABASE", BASE_DIR / "db.sqlite3"), 85 "USER": os.environ.get("SQL_USER", "user"), 86 "PASSWORD": os.environ.get("SQL_PASSWORD", "password"), 87 "HOST": os.environ.get("SQL_HOST", "localhost"), 88 "PORT": os.environ.get("SQL_PORT", "5432"), 89 } 90 } 91 92 93 # Password validation 94 # https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators 95 96 AUTH_PASSWORD_VALIDATORS = [ 97 { 98 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 99 }, 100 { 101 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 102 }, 103 { 104 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 105 }, 106 { 107 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 108 }, 109 ] 110 111 112 # Internationalization 113 # https://docs.djangoproject.com/en/3.2/topics/i18n/ 114 115 LANGUAGE_CODE = 'en-us' 116 117 TIME_ZONE = 'UTC' 118 119 USE_I18N = True 120 121 USE_L10N = True 122 123 USE_TZ = True 124 125 126 # Static files (CSS, JavaScript, Images) 127 # https://docs.djangoproject.com/en/3.2/howto/static-files/ 128 129 STATIC_URL = "/static/" 130 STATIC_ROOT = BASE_DIR / "staticfiles" 131 132 MEDIA_URL = "/media/" 133 MEDIA_ROOT = BASE_DIR / "mediafiles" 134 135 136 # Default primary key field type 137 # https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field 138 139 DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' 140 141 app_name = os.getenv("PYROSCOPE_APPLICATION_NAME", "django-ride-sharing-app") 142 server_addr = os.getenv("PYROSCOPE_SERVER_ADDRESS", "http://pyroscope:4040") 143 auth_token = os.getenv("PYROSCOPE_AUTH_TOKEN", "") 144 145 pyroscope.configure( 146 application_name = app_name, 147 server_address = server_addr, 148 auth_token = auth_token, 149 # tags = { 150 # "region": f'{os.getenv("REGION")}', 151 # } 152 )