twenty-one-again.my-booking.co.uk Open in urlscan Pro
51.159.172.233  Public Scan

URL: https://twenty-one-again.my-booking.co.uk/
Submission: On June 20 via api from US — Scanned from FR

Form analysis 1 forms found in the DOM

Name: pasteformPOST https://dpaste.com/

<form action="https://dpaste.com/" name="pasteform" id="pasteform" method="post">
  <div id="pastebinTraceback" class="pastebin" style="display: none;">
    <input type="hidden" name="language" value="PythonConsole">
    <input type="hidden" name="title" value="DisallowedHost at /">
    <input type="hidden" name="source" value="Django Dpaste Agent">
    <input type="hidden" name="poster" value="Django">
    <textarea name="content" id="traceback_area" cols="140" rows="25">Environment:


Request Method: GET
Request URL: https://twenty-one-again.my-booking.co.uk/

Django Version: 4.2.13
Python Version: 3.12.4
Installed Applications:
['clearcache',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'backendapp.apps.BackendappConfig',
 'rest_framework',
 'health_check',
 'health_check.db',
 'health_check.cache',
 'health_check.contrib.psutil',
 'health_check.contrib.redis',
 'corsheaders',
 'cacheops',
 'django_yarnpkg',
 'phonenumber_field',
 'django_countries',
 'django_filters',
 'import_export',
 'rangefilter',
 'widget_tweaks',
 'django_celery_results',
 'django_celery_beat',
 'hijack',
 'hijack.contrib.admin',
 'rest_framework_api_key',
 'django_json_widget',
 'django_admin_filters',
 'weasyprint',
 'django_tables2',
 'django_probes',
 'django_cleanup.apps.CleanupConfig']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django_permissions_policy.PermissionsPolicyMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'csp.middleware.CSPMiddleware',
 'hijack.middleware.HijackUserMiddleware',
 'rollbar.contrib.django.middleware.RollbarNotifierMiddlewareExcluding404']



Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 42, in inner
    response = await get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/utils/deprecation.py", line 146, in __acall__
    response = await sync_to_async(
               
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/middleware/common.py", line 48, in process_request
    host = request.get_host()
           ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/http/request.py", line 150, in get_host
    raise DisallowedHost(msg)
    ^^^^^^^^^^^^^^^^^^^^^^^^^

Exception Type: DisallowedHost at /
Exception Value: Invalid HTTP_HOST header: 'twenty-one-again.my-booking.co.uk'. You may need to add 'twenty-one-again.my-booking.co.uk' to ALLOWED_HOSTS.
</textarea>
    <br><br>
    <input type="submit" value="Share this traceback on a public website">
  </div>
</form>

Text Content

DISALLOWEDHOST AT /

Invalid HTTP_HOST header: 'twenty-one-again.my-booking.co.uk'. You may need to add 'twenty-one-again.my-booking.co.uk' to ALLOWED_HOSTS.

Request Method: GET Request URL: https://twenty-one-again.my-booking.co.uk/
Django Version: 4.2.13 Exception Type: DisallowedHost Exception Value:

Invalid HTTP_HOST header: 'twenty-one-again.my-booking.co.uk'. You may need to add 'twenty-one-again.my-booking.co.uk' to ALLOWED_HOSTS.

Exception Location:
/usr/local/lib/python3.12/site-packages/django/http/request.py, line 150, in
get_host Raised during: backendapp.views.HomepageView Python Executable:
/usr/local/bin/python Python Version: 3.12.4 Python Path:

['/home/app/web',
 '/home/app/web',
 '/usr/local/bin',
 '/usr/local/lib/python312.zip',
 '/usr/local/lib/python3.12',
 '/usr/local/lib/python3.12/lib-dynload',
 '/usr/local/lib/python3.12/site-packages']

Server time: Thu, 20 Jun 2024 19:07:25 +0000


TRACEBACK SWITCH TO COPY-AND-PASTE VIEW

 * /usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py,
   line 42, in inner
   
    35.     can rely on getting a response instead of an exception.
   
    36.     """
   
    37.     if iscoroutinefunction(get_response):
   
    38. 
   
    39.         @wraps(get_response)
   
    40.         async def inner(request):
   
    41.             try:
   
    42.                 response = await get_response(request)
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
        
        …
   
    43.             except Exception as exc:
   
    44.                 response = await sync_to_async(
   
    45.                     response_for_exception, thread_sensitive=False
   
    46.                 )(request, exc)
   
    47.             return response
   
    48. 
   
   Local vars
   
   Variable Value exc
   
   DisallowedHost("Invalid HTTP_HOST header: 'twenty-one-again.my-booking.co.uk'. You may need to add 'twenty-one-again.my-booking.co.uk' to ALLOWED_HOSTS.")
   
   get_response
   
   <CommonMiddleware get_response=convert_exception_to_response.<locals>.inner>
   
   request
   
   <ASGIRequest: GET '/'>

 * /usr/local/lib/python3.12/site-packages/django/utils/deprecation.py, line
   146, in __acall__
   
    139.     async def __acall__(self, request):
   
    140.         """
   
    141.         Async version of __call__ that is swapped in when an async request
   
    142.         is running.
   
    143.         """
   
    144.         response = None
   
    145.         if hasattr(self, "process_request"):
   
    146.             response = await sync_to_async(
                                     
         
         …
   
    147.                 self.process_request,
   
    148.                 thread_sensitive=True,
   
    149.             )(request)
   
    150.         response = response or await self.get_response(request)
   
    151.         if hasattr(self, "process_response"):
   
    152.             response = await sync_to_async(
   
   Local vars
   
   Variable Value request
   
   <ASGIRequest: GET '/'>
   
   response
   
   None
   
   self
   
   <CommonMiddleware get_response=convert_exception_to_response.<locals>.inner>

 * /usr/local/lib/python3.12/concurrent/futures/thread.py, line 58, in run
   
    51.         self.kwargs = kwargs
   
    52. 
   
    53.     def run(self):
   
    54.         if not self.future.set_running_or_notify_cancel():
   
    55.             return
   
    56. 
   
    57.         try:
   
    58.             result = self.fn(*self.args, **self.kwargs)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        
        …
   
    59.         except BaseException as exc:
   
    60.             self.future.set_exception(exc)
   
    61.             # Break a reference cycle with the exception 'exc'
   
    62.             self = None
   
    63.         else:
   
    64.             self.future.set_result(result)
   
   Local vars
   
   Variable Value self
   
   None

 * /usr/local/lib/python3.12/site-packages/django/middleware/common.py, line 48,
   in process_request
   
    41.         user_agent = request.META.get("HTTP_USER_AGENT")
   
    42.         if user_agent is not None:
   
    43.             for user_agent_regex in settings.DISALLOWED_USER_AGENTS:
   
    44.                 if user_agent_regex.search(user_agent):
   
    45.                     raise PermissionDenied("Forbidden user agent")
   
    46. 
   
    47.         # Check for a redirect based on settings.PREPEND_WWW
   
    48.         host = request.get_host()
                           ^^^^^^^^^^^^^^^^^^
        
        …
   
    49. 
   
    50.         if settings.PREPEND_WWW and host and not host.startswith("www."):
   
    51.             # Check if we also need to append a slash so we can do it all
   
    52.             # with a single redirect. (This check may be somewhat expensive,
   
    53.             # so we only do it if we already know we're sending a redirect,
   
    54.             # or in process_response if we get a 404.)
   
   Local vars
   
   Variable Value request
   
   <ASGIRequest: GET '/'>
   
   self
   
   <CommonMiddleware get_response=convert_exception_to_response.<locals>.inner>
   
   user_agent
   
   ('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like '
    'Gecko) Chrome/126.0.0.0 Safari/537.36')

 * /usr/local/lib/python3.12/site-packages/django/http/request.py, line 150, in
   get_host
   
    143.             msg = "Invalid HTTP_HOST header: %r." % host
   
    144.             if domain:
   
    145.                 msg += " You may need to add %r to ALLOWED_HOSTS." % domain
   
    146.             else:
   
    147.                 msg += (
   
    148.                     " The domain name provided is not valid according to RFC 1034/1035."
   
    149.                 )
   
    150.             raise DisallowedHost(msg)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^
         
         …
   
    151. 
   
    152.     def get_port(self):
   
    153.         """Return the port number for the request as a string."""
   
    154.         if settings.USE_X_FORWARDED_PORT and "HTTP_X_FORWARDED_PORT" in self.META:
   
    155.             port = self.META["HTTP_X_FORWARDED_PORT"]
   
    156.         else:
   
   Local vars
   
   Variable Value allowed_hosts
   
   ['booking.twentyoneagain.com',
    'twenty-one-again-booking-system.hdgjsm.easypanel.host']
   
   domain
   
   'twenty-one-again.my-booking.co.uk'
   
   host
   
   'twenty-one-again.my-booking.co.uk'
   
   msg
   
   ("Invalid HTTP_HOST header: 'twenty-one-again.my-booking.co.uk'. You may need "
    "to add 'twenty-one-again.my-booking.co.uk' to ALLOWED_HOSTS.")
   
   port
   
   ''
   
   self
   
   <ASGIRequest: GET '/'>

Environment: Request Method: GET Request URL:
https://twenty-one-again.my-booking.co.uk/ Django Version: 4.2.13 Python
Version: 3.12.4 Installed Applications: ['clearcache', 'django.contrib.admin',
'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions',
'django.contrib.messages', 'django.contrib.staticfiles',
'backendapp.apps.BackendappConfig', 'rest_framework', 'health_check',
'health_check.db', 'health_check.cache', 'health_check.contrib.psutil',
'health_check.contrib.redis', 'corsheaders', 'cacheops', 'django_yarnpkg',
'phonenumber_field', 'django_countries', 'django_filters', 'import_export',
'rangefilter', 'widget_tweaks', 'django_celery_results', 'django_celery_beat',
'hijack', 'hijack.contrib.admin', 'rest_framework_api_key',
'django_json_widget', 'django_admin_filters', 'weasyprint', 'django_tables2',
'django_probes', 'django_cleanup.apps.CleanupConfig'] Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django_permissions_policy.PermissionsPolicyMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'csp.middleware.CSPMiddleware', 'hijack.middleware.HijackUserMiddleware',
'rollbar.contrib.django.middleware.RollbarNotifierMiddlewareExcluding404']
Traceback (most recent call last): File
"/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py",
line 42, in inner response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^ File
"/usr/local/lib/python3.12/site-packages/django/utils/deprecation.py", line 146,
in __acall__ response = await sync_to_async( File
"/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run result
= self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File
"/usr/local/lib/python3.12/site-packages/django/middleware/common.py", line 48,
in process_request host = request.get_host() ^^^^^^^^^^^^^^^^^^ File
"/usr/local/lib/python3.12/site-packages/django/http/request.py", line 150, in
get_host raise DisallowedHost(msg) ^^^^^^^^^^^^^^^^^^^^^^^^^ Exception Type:
DisallowedHost at / Exception Value: Invalid HTTP_HOST header:
'twenty-one-again.my-booking.co.uk'. You may need to add
'twenty-one-again.my-booking.co.uk' to ALLOWED_HOSTS.




REQUEST INFORMATION


USER

[unable to retrieve the current user]


GET

No GET data


POST

No POST data


FILES

No FILES data


COOKIES

No cookie data


META

Variable Value HTTP_ACCEPT

'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7'

HTTP_ACCEPT_ENCODING

'gzip, deflate, br, zstd'

HTTP_ACCEPT_LANGUAGE

'fr-FR,fr;q=0.9;q=0.9'

HTTP_HOST

'twenty-one-again.my-booking.co.uk'

HTTP_PRIORITY

'u=0, i'

HTTP_SEC_CH_UA

'"Google Chrome";v="126", "Not:A-Brand";v="8", "Chromium";v="126"'

HTTP_SEC_CH_UA_MOBILE

'?0'

HTTP_SEC_CH_UA_PLATFORM

'"Win32"'

HTTP_SEC_FETCH_DEST

'document'

HTTP_SEC_FETCH_MODE

'navigate'

HTTP_SEC_FETCH_SITE

'none'

HTTP_SEC_FETCH_USER

'?1'

HTTP_UPGRADE_INSECURE_REQUESTS

'1'

HTTP_USER_AGENT

('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like '
 'Gecko) Chrome/126.0.0.0 Safari/537.36')

HTTP_X_FORWARDED_FOR

'37.59.164.103'

HTTP_X_FORWARDED_HOST

'twenty-one-again.my-booking.co.uk'

HTTP_X_FORWARDED_PORT

'443'

HTTP_X_FORWARDED_PROTO

'https'

HTTP_X_FORWARDED_SERVER

'c3d4c3a8807e'

HTTP_X_REAL_IP

'37.59.164.103'

PATH_INFO

'/'

QUERY_STRING

''

REMOTE_ADDR

'10.0.1.7'

REMOTE_HOST

'10.0.1.7'

REMOTE_PORT

49020

REQUEST_METHOD

'GET'

SCRIPT_NAME

''

SERVER_NAME

'10.0.1.194'

SERVER_PORT

'8000'

wsgi.multiprocess

True

wsgi.multithread

True


SETTINGS

USING SETTINGS MODULE BOOKING.SETTINGS

Setting Value ABSOLUTE_URL_OVERRIDES

{}

ADMINS

[]

ADMIN_CREDENTIALS_FILE_PATH

'/firestore_creds.json'

ALLOWED_HOSTS

['booking.twentyoneagain.com',
 'twenty-one-again-booking-system.hdgjsm.easypanel.host']

API_KEY_CUSTOM_HEADER

'********************'

APPEND_SLASH

True

ASGI_APPLICATION

'booking.asgi.application'

AUTHENTICATION_BACKENDS

['backendapp.backends.CaseInsensitiveModelBackend']

AUTH_PASSWORD_VALIDATORS

'********************'

AUTH_USER_MODEL

'backendapp.User'

AWS_ACCESS_KEY_ID

'********************'

AWS_DEFAULT_ACL

'public-read'

AWS_IS_GZIPPED

True

AWS_S3_ENDPOINT_URL

'https://s3.eu-west-1.wasabisys.com'

AWS_S3_REGION_NAME

'eu-west-1'

AWS_SECRET_ACCESS_KEY

'********************'

AWS_STORAGE_BUCKET_NAME

'booking-system'

BARBER_SYSTEM_URL

'https://hairgrowthcentre-affiliate.com'

BASE_CURRENCY

'GBP'

BASE_DIR

PosixPath('/home/app/web')

BOOKING_PRODUCTION_URL

'https://bookkeeping.mycosmeticcentre.com'

BOOKING_STAGING_URL

'https://bookkeeping-staging.mycosmeticcentre.com'

BOOKKEEPING_URL

'https://bookkeeping.mycosmeticcentre.com'

BROKER_URL

'redis://:b85203e148d29981b24d@twenty_one_again_cache:6379/2'

CACHEOPS

{'*.*': {'ops': ()}}

CACHEOPS_DEFAULTS

{'timeout': 3600}

CACHEOPS_ENABLED

True

CACHEOPS_REDIS

'redis://:b85203e148d29981b24d@twenty_one_again_cache:6379/1'

CACHES

{'default': {'BACKEND': 'django.core.cache.backends.redis.RedisCache',
             'KEY_PREFIX': '********************',
             'LOCATION': 'redis://:b85203e148d29981b24d@twenty_one_again_cache:6379/0'},
 'shared': {'BACKEND': 'django.core.cache.backends.redis.RedisCache',
            'KEY_PREFIX': '********************',
            'LOCATION': 'redis://:b85203e148d29981b24d@twenty_one_again_cache:6379/0'}}

CACHE_MIDDLEWARE_ALIAS

'default'

CACHE_MIDDLEWARE_KEY_PREFIX

'********************'

CACHE_MIDDLEWARE_SECONDS

600

CELERY_ACCEPT_CONTENT

['application/json']

CELERY_BROKER_TRANSPORT_OPTIONS

{'fanout_patterns': True, 'visibility_timeout': 3600}

CELERY_CACHE_BACKEND

'django-cache'

CELERY_DEFAULT_QUEUE

'booking'

CELERY_RESULT_BACKEND

'django-db'

CELERY_RESULT_SERIALIZER

'json'

CELERY_TASK_SERIALIZER

'json'

CELERY_TASK_TRACK_STARTED

True

CELERY_TIMEZONE

'Europe/London'

CLINIKO_ACCOUNT_ID

'50423'

CLINIKO_API_KEY

'********************'

CLINIKO_EMAIL

'umar@mycosmeticcentre.com'

CLINIKO_PASSWORD

'********************'

CORS_ALLOW_HEADERS

['accept',
 'accept-encoding',
 'authorization',
 'content-type',
 'dnt',
 'origin',
 'user-agent',
 'x-csrftoken',
 'x-requested-with',
 'x-api-key']

CORS_ALLOW_METHODS

['DELETE', 'GET', 'OPTIONS', 'PATCH', 'POST', 'PUT']

CORS_ORIGIN_WHITELIST

['http://localhost:3000',
 'https://booking.twentyoneagain.com',
 'https://twenty-one-again-booking-system.hdgjsm.easypanel.host']

CORS_URLS_REGEX

'^/api/.*$'

CSP_CONNECT_SRC

["'self'",
 'https://api.timetap.com',
 'https://ka-p.fontawesome.com',
 'https://s3.eu-west-1.wasabisys.com',
 'https://cdn.tiny.cloud',
 'https://spelling.tiny.cloud',
 'https://eu-test.oppwa.com',
 'https://kit.fontawesome.com']

CSP_DEFAULT_SRC

["'self'", 'http://docker.localhost']

CSP_FONT_SRC

["'self'",
 'data:',
 'http://docker.localhost',
 'https://fonts.googleapis.com',
 'https://fonts.gstatic.com',
 'https://pro.fontawesome.com',
 'https://s3.eu-west-1.wasabisys.com',
 'https://s3.eu-central-1.wasabisys.com',
 'https://ka-p.fontawesome.com',
 'https://unpkg.com']

CSP_FORM_ACTION

["'self'", 'https://eu-test.oppwa.com']

CSP_FRAME_ANCESTORS

["'self'"]

CSP_FRAME_SRC

["'self'",
 'blob:',
 'http://docker.localhost',
 'https://s3.eu-west-1.wasabisys.com',
 'https://maps.google.com',
 'https://www.google.com',
 'https://js.stripe.com',
 'https://backoffice.timetap.com',
 'https://s3.eu-central-1.wasabisys.com',
 'https://s3.eu-west-1.wasabisys.com',
 'https://eu-test.oppwa.com']

CSP_IMG_SRC

["'self'",
 'data:',
 'blob:',
 'http://docker.localhost',
 'https://s3.eu-west-1.wasabisys.com',
 'https://cdnjs.cloudflare.com',
 'https://picsum.photos',
 'https://i.picsum.photos',
 'https://d3gfi7c8oijy7q.cloudfront.net',
 'https://api.mapbox.com',
 'https://unpkg.com',
 'https://via.placeholder.com/',
 'https://s3.eu-central-1.wasabisys.com',
 'https://s3.eu-west-1.wasabisys.com',
 'https://www.pixelwibes.com',
 'https://eduport.webestica.com',
 'https://cdn.tiny.cloud',
 'https://sp.tinymce.com',
 'https://img.icons8.com',
 'https://eu-test.oppwa.com']

CSP_MEDIA_SRC

["'self'",
 'mediastream:',
 'blob:',
 'http://docker.localhost',
 'https://s3.eu-west-1.wasabisys.com',
 'https://s3.eu-central-1.wasabisys.com']

CSP_OBJECT_SRC

['https://backoffice.timetap.com']

CSP_SCRIPT_SRC

["'self'",
 'blob:',
 'data:',
 'http://docker.localhost',
 'https://code.jquery.com',
 'https://unpkg.com',
 'https://cdn.jsdelivr.net',
 'https://fonts.googleapis.com',
 'https://cdn.datatables.net',
 'https://cdnjs.cloudflare.com',
 'https://s3.eu-west-1.wasabisys.com',
 'https://raw.githack.com',
 'https://printjs-4de6.kxcdn.com',
 'https://maps.google.com',
 'https://js.stripe.com',
 'https://polyfill.io',
 'https://js.stripe.com',
 'https://uicdn.toast.com',
 'https://releases.transloadit.com',
 'https://cdn.quilljs.com',
 'https://s3.eu-central-1.wasabisys.com',
 'https://raw.githubusercontent.com',
 'https://maxcdn.bootstrapcdn.com',
 'https://cdnjs.cloudflare.com',
 'http://mozilla.github.io/',
 'https://kit.fontawesome.com',
 'https://cdn.sheetjs.com',
 'https://cdn.sheetjs.com',
 'https://cdn.tiny.cloud',
 'https://momentjs.com',
 'https://eu-test.oppwa.com',
 'https://kit.fontawesome.com',
 'https://html2canvas.hertzen.com/dist/html2canvas.min.js',
 'https://pagination.js.org',
 "'unsafe-inline'",
 "'unsafe-eval'"]

CSP_STYLE_SRC

["'self'",
 "'unsafe-inline'",
 'blob:',
 'http://docker.localhost',
 'https://code.jquery.com',
 'https://unpkg.com',
 'https://cdn.jsdelivr.net',
 'https://fonts.googleapis.com',
 'https://cdn.datatables.net',
 'https://cdnjs.cloudflare.com',
 'https://pro.fontawesome.com',
 'https://s3.eu-west-1.wasabisys.com',
 'https://printjs-4de6.kxcdn.com',
 'https://uicdn.toast.com',
 'https://releases.transloadit.com',
 'https://cdn.quilljs.com',
 'https://s3.eu-central-1.wasabisys.com',
 'https://cdn.tiny.cloud',
 'https://eu-test.oppwa.com']

CSRF_COOKIE_AGE

31449600

CSRF_COOKIE_DOMAIN

None

CSRF_COOKIE_HTTPONLY

False

CSRF_COOKIE_MASKED

False

CSRF_COOKIE_NAME

'csrftoken'

CSRF_COOKIE_PATH

'/'

CSRF_COOKIE_SAMESITE

'Lax'

CSRF_COOKIE_SECURE

True

CSRF_FAILURE_VIEW

'django.views.csrf.csrf_failure'

CSRF_HEADER_NAME

'HTTP_X_CSRFTOKEN'

CSRF_TRUSTED_ORIGINS

['http://localhost:3000',
 'https://booking.twentyoneagain.com',
 'https://twenty-one-again-booking-system.hdgjsm.easypanel.host']

CSRF_USE_SESSIONS

False

CURRENCIES

('GBP',)

DAIFAAN_GATEWAY

'GSM Modem Gateway'

DAIFAAN_PASSWORD

'********************'

DAIFAAN_URL

'https://sms.daf4i4kxqn.co.uk'

DAIFAAN_USERNAME

'admin'

DATABASES

{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_HEALTH_CHECKS': False,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.postgresql',
             'HOST': '195.154.70.107',
             'NAME': 'booking-dev-7',
             'OPTIONS': {},
             'PASSWORD': '********************',
             'PORT': 37640,
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIGRATE': True,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': 'booking-dev'}}

DATABASE_ROUTERS

[]

DATA_UPLOAD_MAX_MEMORY_SIZE

2621440

DATA_UPLOAD_MAX_NUMBER_FIELDS

1000

DATA_UPLOAD_MAX_NUMBER_FILES

100

DATETIME_FORMAT

'N j, Y, P'

DATETIME_INPUT_FORMATS

['%Y-%m-%d %H:%M:%S',
 '%Y-%m-%d %H:%M:%S.%f',
 '%Y-%m-%d %H:%M',
 '%m/%d/%Y %H:%M:%S',
 '%m/%d/%Y %H:%M:%S.%f',
 '%m/%d/%Y %H:%M',
 '%m/%d/%y %H:%M:%S',
 '%m/%d/%y %H:%M:%S.%f',
 '%m/%d/%y %H:%M']

DATE_FORMAT

'N j, Y'

DATE_INPUT_FORMATS

['%Y-%m-%d',
 '%m/%d/%Y',
 '%m/%d/%y',
 '%b %d %Y',
 '%b %d, %Y',
 '%d %b %Y',
 '%d %b, %Y',
 '%B %d %Y',
 '%B %d, %Y',
 '%d %B %Y',
 '%d %B, %Y']

DEBUG

True

DEBUG_PROPAGATE_EXCEPTIONS

False

DECIMAL_SEPARATOR

'.'

DEFAULT_AUTO_FIELD

'django.db.models.BigAutoField'

DEFAULT_CHARSET

'utf-8'

DEFAULT_EXCEPTION_REPORTER

'django.views.debug.ExceptionReporter'

DEFAULT_EXCEPTION_REPORTER_FILTER

'django.views.debug.SafeExceptionReporterFilter'

DEFAULT_FILE_STORAGE

'booking.storage_backends.PublicMediaStorage'

DEFAULT_FROM_EMAIL

'webmaster@localhost'

DEFAULT_INDEX_TABLESPACE

''

DEFAULT_TABLESPACE

''

DGS_BEARER_TOKEN

'********************'

DGS_ENTITY_ID

'8ac7a4c887e621140187e6857dfc0112'

DISALLOWED_USER_AGENTS

[]

DJANGO_TABLES2_TABLE_ATTRS

{'class': 'table table-hover', 'thead': {'class': 'table-light'}}

DJANGO_TABLES2_TEMPLATE

'django_tables2/semantic.html'

EMAIL_BACKEND

'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST

'localhost'

EMAIL_HOST_PASSWORD

'********************'

EMAIL_HOST_USER

''

EMAIL_PORT

25

EMAIL_SSL_CERTFILE

None

EMAIL_SSL_KEYFILE

'********************'

EMAIL_SUBJECT_PREFIX

'[Django] '

EMAIL_TIMEOUT

None

EMAIL_USE_LOCALTIME

False

EMAIL_USE_SSL

False

EMAIL_USE_TLS

False

ENV

'prod'

ESSEX_BEARER_TOKEN

'********************'

ESSEX_ENTITY_ID

'8ac7a4c887e621140187e6857dfc0112'

FILE_UPLOAD_DIRECTORY_PERMISSIONS

None

FILE_UPLOAD_HANDLERS

['django.core.files.uploadhandler.MemoryFileUploadHandler',
 'django.core.files.uploadhandler.TemporaryFileUploadHandler']

FILE_UPLOAD_MAX_MEMORY_SIZE

2621440

FILE_UPLOAD_PERMISSIONS

420

FILE_UPLOAD_TEMP_DIR

None

FIRST_DAY_OF_WEEK

0

FIXTURE_DIRS

[]

FORCE_SCRIPT_NAME

None

FORMAT_MODULE_PATH

None

FORM_RENDERER

'django.forms.renderers.DjangoTemplates'

IGNORABLE_404_URLS

[]

INSTALLED_APPS

['clearcache',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'backendapp.apps.BackendappConfig',
 'rest_framework',
 'health_check',
 'health_check.db',
 'health_check.cache',
 'health_check.contrib.psutil',
 'health_check.contrib.redis',
 'corsheaders',
 'cacheops',
 'django_yarnpkg',
 'phonenumber_field',
 'django_countries',
 'django_filters',
 'import_export',
 'rangefilter',
 'widget_tweaks',
 'django_celery_results',
 'django_celery_beat',
 'hijack',
 'hijack.contrib.admin',
 'rest_framework_api_key',
 'django_json_widget',
 'django_admin_filters',
 'weasyprint',
 'django_tables2',
 'django_probes',
 'django_cleanup.apps.CleanupConfig']

INTERNAL_IPS

[]

KTN_BEARER_TOKEN

'********************'

KTN_ENTITY_ID

'8ac7a4c887e621140187e6857dfc0112'

LANGUAGES

[('af', 'Afrikaans'),
 ('ar', 'Arabic'),
 ('ar-dz', 'Algerian Arabic'),
 ('ast', 'Asturian'),
 ('az', 'Azerbaijani'),
 ('bg', 'Bulgarian'),
 ('be', 'Belarusian'),
 ('bn', 'Bengali'),
 ('br', 'Breton'),
 ('bs', 'Bosnian'),
 ('ca', 'Catalan'),
 ('ckb', 'Central Kurdish (Sorani)'),
 ('cs', 'Czech'),
 ('cy', 'Welsh'),
 ('da', 'Danish'),
 ('de', 'German'),
 ('dsb', 'Lower Sorbian'),
 ('el', 'Greek'),
 ('en', 'English'),
 ('en-au', 'Australian English'),
 ('en-gb', 'British English'),
 ('eo', 'Esperanto'),
 ('es', 'Spanish'),
 ('es-ar', 'Argentinian Spanish'),
 ('es-co', 'Colombian Spanish'),
 ('es-mx', 'Mexican Spanish'),
 ('es-ni', 'Nicaraguan Spanish'),
 ('es-ve', 'Venezuelan Spanish'),
 ('et', 'Estonian'),
 ('eu', 'Basque'),
 ('fa', 'Persian'),
 ('fi', 'Finnish'),
 ('fr', 'French'),
 ('fy', 'Frisian'),
 ('ga', 'Irish'),
 ('gd', 'Scottish Gaelic'),
 ('gl', 'Galician'),
 ('he', 'Hebrew'),
 ('hi', 'Hindi'),
 ('hr', 'Croatian'),
 ('hsb', 'Upper Sorbian'),
 ('hu', 'Hungarian'),
 ('hy', 'Armenian'),
 ('ia', 'Interlingua'),
 ('id', 'Indonesian'),
 ('ig', 'Igbo'),
 ('io', 'Ido'),
 ('is', 'Icelandic'),
 ('it', 'Italian'),
 ('ja', 'Japanese'),
 ('ka', 'Georgian'),
 ('kab', 'Kabyle'),
 ('kk', 'Kazakh'),
 ('km', 'Khmer'),
 ('kn', 'Kannada'),
 ('ko', 'Korean'),
 ('ky', 'Kyrgyz'),
 ('lb', 'Luxembourgish'),
 ('lt', 'Lithuanian'),
 ('lv', 'Latvian'),
 ('mk', 'Macedonian'),
 ('ml', 'Malayalam'),
 ('mn', 'Mongolian'),
 ('mr', 'Marathi'),
 ('ms', 'Malay'),
 ('my', 'Burmese'),
 ('nb', 'Norwegian Bokmål'),
 ('ne', 'Nepali'),
 ('nl', 'Dutch'),
 ('nn', 'Norwegian Nynorsk'),
 ('os', 'Ossetic'),
 ('pa', 'Punjabi'),
 ('pl', 'Polish'),
 ('pt', 'Portuguese'),
 ('pt-br', 'Brazilian Portuguese'),
 ('ro', 'Romanian'),
 ('ru', 'Russian'),
 ('sk', 'Slovak'),
 ('sl', 'Slovenian'),
 ('sq', 'Albanian'),
 ('sr', 'Serbian'),
 ('sr-latn', 'Serbian Latin'),
 ('sv', 'Swedish'),
 ('sw', 'Swahili'),
 ('ta', 'Tamil'),
 ('te', 'Telugu'),
 ('tg', 'Tajik'),
 ('th', 'Thai'),
 ('tk', 'Turkmen'),
 ('tr', 'Turkish'),
 ('tt', 'Tatar'),
 ('udm', 'Udmurt'),
 ('uk', 'Ukrainian'),
 ('ur', 'Urdu'),
 ('uz', 'Uzbek'),
 ('vi', 'Vietnamese'),
 ('zh-hans', 'Simplified Chinese'),
 ('zh-hant', 'Traditional Chinese')]

LANGUAGES_BIDI

['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ur']

LANGUAGE_CODE

'en-us'

LANGUAGE_COOKIE_AGE

None

LANGUAGE_COOKIE_DOMAIN

None

LANGUAGE_COOKIE_HTTPONLY

False

LANGUAGE_COOKIE_NAME

'django_language'

LANGUAGE_COOKIE_PATH

'/'

LANGUAGE_COOKIE_SAMESITE

None

LANGUAGE_COOKIE_SECURE

False

LEADCAPTURE_URL

'https://lead-capture.daf4i4kxqn.co.uk'

LOCALE_PATHS

[]

LOGGING

{}

LOGGING_CONFIG

'logging.config.dictConfig'

LOGIN_REDIRECT_URL

'homepage'

LOGIN_URL

'login'

LOGOUT_REDIRECT_URL

'login'

LOGOUT_URL

'login'

MANAGERS

[]

MAN_BEARER_TOKEN

'********************'

MAN_ENTITY_ID

'8ac7a4c887e621140187e6857dfc0112'

MCC_BEARER_TOKEN

'********************'

MCC_ENTITY_ID

'8ac7a4c887e621140187e6857dfc0112'

MEDIA_ROOT

''

MEDIA_URL

'https://https://s3.eu-west-1.wasabisys.com/media/'

MESSAGEBIRD_ACCESS_KEY

'********************'

MESSAGE_STORAGE

'django.contrib.messages.storage.fallback.FallbackStorage'

MIDDLEWARE

['django.middleware.security.SecurityMiddleware',
 'django_permissions_policy.PermissionsPolicyMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'csp.middleware.CSPMiddleware',
 'hijack.middleware.HijackUserMiddleware',
 'rollbar.contrib.django.middleware.RollbarNotifierMiddlewareExcluding404']

MIGRATION_MODULES

{}

MOBILE_NUMBERS

'+447984409525;+447786314188'

MONTH_DAY_FORMAT

'F j'

NODE_MODULES_ROOT

'/home/app/web/node_modules'

NUMBER_GROUPING

0

PASSWORD_HASHERS

'********************'

PASSWORD_RESET_TIMEOUT

'********************'

PERMISSIONS_POLICY

{'autoplay': 'self',
 'camera': 'self',
 'fullscreen': 'self',
 'geolocation': 'self',
 'microphone': 'self',
 'payment': 'self'}

PREPEND_WWW

False

PUBLIC_MEDIA_LOCATION

'media'

REDIS_URL

'redis://:b85203e148d29981b24d@twenty_one_again_cache:6379'

REST_FRAMEWORK

{'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.SessionAuthentication',
                                    'rest_framework_simplejwt.authentication.JWTAuthentication'),
 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',
                             'rest_framework_datatables.filters.DatatablesFilterBackend'),
 'DEFAULT_PAGINATION_CLASS': 'backendapp.api.pagination.CustomPageNumberPagination',
 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',),
 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer',
                              'rest_framework_datatables.renderers.DatatablesRenderer',
                              'rest_framework.renderers.BrowsableAPIRenderer'),
 'EXCEPTION_HANDLER': 'rollbar.contrib.django_rest_framework.post_exception_handler',
 'PAGE_SIZE': 25}

ROLLBAR

{'access_token': '********************',
 'branch': 'master',
 'capture_email': True,
 'capture_ip': True,
 'capture_username': True,
 'environment': 'production',
 'root': PosixPath('/home/app/web'),
 'scrub_fields': ['pw',
                  'passwd',
                  'password',
                  'password_1',
                  'password_2',
                  'secret',
                  'confirm_password',
                  'confirmPassword',
                  'password_confirmation',
                  'passwordConfirmation',
                  'access_token',
                  'accessToken',
                  'auth',
                  'authentication']}

ROOT_URLCONF

'booking.urls'

SECRET_KEY

'********************'

SECRET_KEY_FALLBACKS

'********************'

SECURE_BROWSER_XSS_FILTER

True

SECURE_CONTENT_TYPE_NOSNIFF

True

SECURE_CROSS_ORIGIN_OPENER_POLICY

'same-origin'

SECURE_HSTS_INCLUDE_SUBDOMAINS

False

SECURE_HSTS_PRELOAD

False

SECURE_HSTS_SECONDS

0

SECURE_PROXY_SSL_HEADER

('HTTP_X_FORWARDED_PROTO', 'https')

SECURE_REDIRECT_EXEMPT

[]

SECURE_REFERRER_POLICY

'same-origin'

SECURE_SSL_HOST

None

SECURE_SSL_REDIRECT

False

SERVER_EMAIL

'root@localhost'

SESSION_CACHE_ALIAS

'default'

SESSION_COOKIE_AGE

1209600

SESSION_COOKIE_DOMAIN

None

SESSION_COOKIE_HTTPONLY

True

SESSION_COOKIE_NAME

'sessionid'

SESSION_COOKIE_PATH

'/'

SESSION_COOKIE_SAMESITE

'Lax'

SESSION_COOKIE_SECURE

True

SESSION_ENGINE

'django.contrib.sessions.backends.cached_db'

SESSION_EXPIRE_AT_BROWSER_CLOSE

False

SESSION_FILE_PATH

None

SESSION_SAVE_EVERY_REQUEST

False

SESSION_SERIALIZER

'django.contrib.sessions.serializers.JSONSerializer'

SETTINGS_MODULE

'booking.settings'

SHORT_DATETIME_FORMAT

'm/d/Y P'

SHORT_DATE_FORMAT

'm/d/Y'

SIGNING_BACKEND

'django.core.signing.TimestampSigner'

SILENCED_SYSTEM_CHECKS

[]

SIMPLE_JWT

{'ACCESS_TOKEN_LIFETIME': '********************',
 'REFRESH_TOKEN_LIFETIME': '********************',
 'ROTATE_REFRESH_TOKENS': '********************'}

SMS_WORKS_API_KEY

'********************'

SMS_WORKS_API_SECRET

'********************'

SMS_WORKS_API_TOKEN

'********************'

STATICFILES_DIRS

[]

STATICFILES_FINDERS

['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
 'django_yarnpkg.finders.NodeModulesFinder']

STATICFILES_STORAGE

'booking.storage_backends.StaticStorage'

STATIC_LOCATION

'static'

STATIC_ROOT

None

STATIC_URL

'https://https://s3.eu-west-1.wasabisys.com/static/'

STORAGES

{'default': {'BACKEND': 'booking.storage_backends.PublicMediaStorage'},
 'staticfiles': {'BACKEND': 'booking.storage_backends.StaticStorage'}}

TEMPLATES

[{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': ['/home/app/web/templates'],
  'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
                                     'django.template.context_processors.request',
                                     'django.contrib.auth.context_processors.auth',
                                     'django.contrib.messages.context_processors.messages',
                                     'csp.context_processors.nonce']}}]

TEST_BEARER_TOKEN

'********************'

TEST_ENTITY_ID

'8ac7a4c887e621140187e6857dfc0112'

TEST_NON_SERIALIZED_APPS

[]

TEST_RUNNER

'django.test.runner.DiscoverRunner'

THOUSAND_SEPARATOR

','

TIMETAP_API_KEY

'********************'

TIMETAP_SECRET_KEY

'********************'

TIME_FORMAT

'P'

TIME_INPUT_FORMATS

['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']

TIME_ZONE

'UTC'

TOTAL_PROCESSING_URL

'https://eu-test.oppwa.com'

TOTAL_PROCESSING_WEBHOOK_KEY

'********************'

USE_DEPRECATED_PYTZ

False

USE_I18N

True

USE_L10N

True

USE_THOUSAND_SEPARATOR

False

USE_TZ

True

USE_X_FORWARDED_HOST

False

USE_X_FORWARDED_PORT

False

WEBEX_CLIENT_ID

'C0f15aa2cba5ccd2cc6ec359c68207bffee676a6ab29344ca1d5f3f9ede313fd4'

WEBEX_CLIENT_SECRET

'********************'

WEBEX_TOKEN

'********************'

WSGI_APPLICATION

'booking.wsgi.application'

X_FRAME_OPTIONS

'DENY'

YARN_INSTALLED_APPS

['jquery',
 'jquery-ui-dist',
 'jquery.scrollto',
 'jquery-waypoints',
 'popper.js',
 'bootstrap',
 'bootstrap-select',
 'bootstrap4-toggle',
 'chart.js',
 'featherlight',
 'flatpickr',
 'ion-rangeslider',
 'leaflet',
 'leaflet.markercluster',
 'dayjs',
 'paginationjs',
 'shave',
 'scrollmagic',
 'swiper',
 'quill',
 'reconnecting-websocket',
 'video.js',
 'tui-code-snippet',
 'tui-time-picker',
 'tui-date-picker',
 'tui-calendar',
 'js-cookie',
 'waypoints',
 'xbs-enjoyhint',
 'kinetic',
 'wowjs',
 'detect_swipe',
 'noty',
 'animate.css',
 'datatables.net',
 'datatables.net-bs4',
 'datatables.net-responsive',
 'datatables.net-responsive-bs4',
 'parsleyjs',
 'intl-tel-input',
 '@yaireo/tagify',
 'daterangepicker',
 '@fortawesome/fontawesome-free',
 '@fortawesome/fontawesome-pro',
 'twilio-video',
 'easytimer.js',
 'jquery-ui-touch-punch']

YEAR_MONTH_FORMAT

'F Y'

ZOHO_MAIL_API_KEY

'********************'

ZOOM_ACCOUNT_ID

'4PPrHAhtTeeCG2-2WWqtDw'

ZOOM_CLIENT_ID

'uZL9bS1SoeGONFnb4iMw'

ZOOM_CLIENT_SECRET

'********************'

You’re seeing this error because you have DEBUG = True in your Django settings
file. Change that to False, and Django will display a standard page generated by
the handler for this status code.