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  )