TypeError at /docs/projects_teams/

unsupported operand type(s) for /: 'str' and 'str'
Request Method: GET
Request URL: http://127.0.0.1:8000/docs/projects_teams/
Django Version: 4.2.3
Exception Type: TypeError
Exception Value:
unsupported operand type(s) for /: 'str' and 'str'
Exception Location: /var/www/status.ms/web/healthchecks/hc/front/views.py, line 426, in serve_doc
Raised during: hc.front.views.serve_doc
Python Executable: /var/www/status.ms/web/hc-venv/bin/python
Python Version: 3.9.18
Python Path:
['/var/www/status.ms/web/healthchecks',
 '/usr/lib64/python39.zip',
 '/usr/lib64/python3.9',
 '/usr/lib64/python3.9/lib-dynload',
 '/var/www/status.ms/web/hc-venv/lib64/python3.9/site-packages',
 '/var/www/status.ms/web/hc-venv/lib/python3.9/site-packages']
Server time: Thu, 28 Mar 2024 15:46:33 +0000

Traceback Switch to copy-and-paste view



Request information

USER

AnonymousUser

GET

No GET data

POST

No POST data

FILES

No FILES data

No cookie data

META

Variable Value
CONTENT_LENGTH
''
CONTENT_TYPE
'text/plain'
DJANGO_SETTINGS_MODULE
'hc.settings'
GATEWAY_INTERFACE
'CGI/1.1'
HOME
'/root'
HTTP_ACCEPT
'*/*'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'127.0.0.1:8000'
HTTP_USER_AGENT
'claudebot'
HTTP_X_FORWARDED_FOR
'18.212.87.137'
HTTP_X_FORWARDED_HOST
'www.status.ms'
HTTP_X_FORWARDED_SERVER
'status.ms'
INVOCATION_ID
'071ad95de10d46229096bed74fee7576'
JOURNAL_STREAM
'9:49363'
LANG
'en_US.UTF-8'
LOGNAME
'root'
PATH
'/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin'
PATH_INFO
'/docs/projects_teams/'
QUERY_STRING
''
REMOTE_ADDR
'127.0.0.1'
REMOTE_HOST
''
REQUEST_METHOD
'GET'
RUN_MAIN
'true'
SCRIPT_NAME
''
SERVER_NAME
'localhost.localdomain'
SERVER_PORT
'8000'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SOFTWARE
'WSGIServer/0.2'
SHELL
'/bin/sh'
TZ
'UTC'
USER
'root'
wsgi.errors
<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
wsgi.file_wrapper
<class 'wsgiref.util.FileWrapper'>
wsgi.input
<django.core.handlers.wsgi.LimitedStream object at 0x7f06a82a95b0>
wsgi.multiprocess
False
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'http'
wsgi.version
(1, 0)

Settings

Using settings module hc.settings

Setting Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
[('Marius', 'marius@mixtmedia.ro')]
ALLOWED_HOSTS
['*']
APPEND_SLASH
True
APPRISE_ENABLED
False
AUTHENTICATION_BACKENDS
['hc.accounts.backends.EmailBackend', 'hc.accounts.backends.ProfileBackend']
AUTH_PASSWORD_VALIDATORS
'********************'
AUTH_USER_MODEL
'auth.User'
BASE_DIR
'/var/www/status.ms/web/healthchecks'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS
'default'
CACHE_MIDDLEWARE_KEY_PREFIX
'********************'
CACHE_MIDDLEWARE_SECONDS
600
COMPRESSORS
{'css': 'compressor.css.CssCompressor', 'js': 'compressor.js.JsCompressor'}
COMPRESS_CACHEABLE_PRECOMPILERS
()
COMPRESS_CACHE_BACKEND
'default'
COMPRESS_CACHE_KEY_FUNCTION
'********************'
COMPRESS_CLEAN_CSS_ARGUMENTS
''
COMPRESS_CLEAN_CSS_BINARY
'cleancss'
COMPRESS_CLOSURE_COMPILER_ARGUMENTS
''
COMPRESS_CLOSURE_COMPILER_BINARY
'java -jar compiler.jar'
COMPRESS_CSS_HASHING_METHOD
'content'
COMPRESS_DATA_URI_MAX_SIZE
1024
COMPRESS_DEBUG_TOGGLE
None
COMPRESS_ENABLED
False
COMPRESS_FILTERS
{'css': ['compressor.filters.css_default.CssRelativeFilter',
         'compressor.filters.cssmin.rCSSMinFilter'],
 'js': ['compressor.filters.jsmin.rJSMinFilter']}
COMPRESS_JINJA2_GET_ENVIRONMENT
<function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7f06ae624c10>
COMPRESS_MINT_DELAY
30
COMPRESS_MTIME_DELAY
10
COMPRESS_OFFLINE
True
COMPRESS_OFFLINE_CONTEXT
{'STATIC_URL': '/static/'}
COMPRESS_OFFLINE_MANIFEST
'manifest.json'
COMPRESS_OFFLINE_MANIFEST_STORAGE
'compressor.storage.OfflineManifestFileStorage'
COMPRESS_OFFLINE_TIMEOUT
31536000
COMPRESS_OUTPUT_DIR
'CACHE'
COMPRESS_PARSER
'compressor.parser.AutoSelectParser'
COMPRESS_PRECOMPILERS
()
COMPRESS_REBUILD_TIMEOUT
2592000
COMPRESS_ROOT
'/var/www/status.ms/web/healthchecks/static-collected'
COMPRESS_STORAGE
'compressor.storage.GzipCompressorFileStorage'
COMPRESS_TEMPLATE_FILTER_CONTEXT
{'STATIC_URL': '/static/'}
COMPRESS_URL
'/static/'
COMPRESS_URL_PLACEHOLDER
'/__compressor_url_placeholder__/'
COMPRESS_VERBOSE
False
COMPRESS_YUGLIFY_BINARY
'yuglify'
COMPRESS_YUGLIFY_CSS_ARGUMENTS
'--terminal'
COMPRESS_YUGLIFY_JS_ARGUMENTS
'--terminal'
COMPRESS_YUI_BINARY
'java -jar yuicompressor.jar'
COMPRESS_YUI_CSS_ARGUMENTS
''
COMPRESS_YUI_JS_ARGUMENTS
''
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
False
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
['https://www.status.ms']
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_HEALTH_CHECKS': False,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.mysql',
             'HOST': '',
             'NAME': 'status',
             'OPTIONS': {},
             'PASSWORD': '********************',
             'PORT': '',
             'TEST': {'CHARSET': 'UTF8',
                      'COLLATION': None,
                      'MIGRATE': True,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': 'status'}}
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.AutoField'
DEFAULT_CHARSET
'utf-8'
DEFAULT_EXCEPTION_REPORTER
'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER
'hc.debug.ExceptionReporterFilter'
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
'postmaster@status.ms'
DEFAULT_INDEX_TABLESPACE
''
DEFAULT_TABLESPACE
''
DISALLOWED_USER_AGENTS
[]
DISCORD_CLIENT_ID
None
DISCORD_CLIENT_SECRET
'********************'
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
'mail.mixtmedia.ro'
EMAIL_HOST_PASSWORD
'********************'
EMAIL_HOST_USER
'postmaster@status.ms'
EMAIL_MAIL_FROM_TMPL
''
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
True
EMAIL_USE_VERIFICATION
True
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
('hc.accounts',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.humanize',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'compressor',
 'hc.api',
 'hc.front',
 'hc.payments')
INTEGRATIONS_ALLOW_PRIVATE_IPS
True
INTERNAL_IPS
[]
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
LINENOTIFY_CLIENT_ID
None
LINENOTIFY_CLIENT_SECRET
'********************'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': False,
 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}},
 'handlers': {'console_debug_false': {'class': 'logging.StreamHandler',
                                      'filters': ['require_debug_false'],
                                      'level': 'ERROR'}},
 'loggers': {'django.request': {'handlers': ['console_debug_false']}},
 'version': 1}
LOGGING_CONFIG
'logging.config.dictConfig'
LOGIN_REDIRECT_URL
'/accounts/profile/'
LOGIN_URL
'/accounts/login/'
LOGOUT_REDIRECT_URL
None
MANAGERS
[]
MASTER_BADGE_LABEL
'Mychecks'
MATRIX_ACCESS_TOKEN
'********************'
MATRIX_HOMESERVER
None
MATRIX_USER_ID
None
MATTERMOST_ENABLED
True
MEDIA_ROOT
''
MEDIA_URL
'/'
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
METRICS_KEY
'********************'
MIDDLEWARE
['django.middleware.security.SecurityMiddleware',
 'whitenoise.middleware.WhiteNoiseMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'hc.accounts.middleware.CustomHeaderMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'hc.accounts.middleware.TeamAccessMiddleware']
MIGRATION_MODULES
{}
MONTH_DAY_FORMAT
'F j'
MSTEAMS_ENABLED
True
NUMBER_GROUPING
0
OPSGENIE_ENABLED
True
PAGERTREE_ENABLED
True
PASSWORD_HASHERS
'********************'
PASSWORD_RESET_TIMEOUT
'********************'
PD_APP_ID
None
PD_ENABLED
True
PING_BODY_LIMIT
10000
PING_EMAIL_DOMAIN
'localhost'
PING_ENDPOINT
'https://chk.sh/'
PREPEND_WWW
False
PROMETHEUS_ENABLED
True
PUSHBULLET_CLIENT_ID
None
PUSHBULLET_CLIENT_SECRET
'********************'
PUSHOVER_API_TOKEN
'********************'
PUSHOVER_EMERGENCY_EXPIRATION
86400
PUSHOVER_EMERGENCY_RETRY_DELAY
300
PUSHOVER_SUBSCRIPTION_URL
None
REGISTRATION_OPEN
False
REMOTE_USER_HEADER
None
ROCKETCHAT_ENABLED
True
ROOT_URLCONF
'hc.urls'
RP_ID
None
S3_ACCESS_KEY
'********************'
S3_BUCKET
None
S3_ENDPOINT
None
S3_REGION
None
S3_SECRET_KEY
'********************'
S3_TIMEOUT
60
SECRET_KEY
'********************'
SECRET_KEY_FALLBACKS
'********************'
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
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_REFERRER_POLICY
'same-origin'
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
'postmaster@status.ms'
SERVER_NAME
['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
False
SESSION_ENGINE
'django.contrib.sessions.backends.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
'hc.settings'
SHELL_ENABLED
False
SHORT_DATETIME_FORMAT
'm/d/Y P'
SHORT_DATE_FORMAT
'm/d/Y'
SIGNAL_CLI_SOCKET
None
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
SITE_LOGO_URL
None
SITE_NAME
'Status'
SITE_ROOT
'http://127.0.0.1:8000'
SLACK_CLIENT_ID
None
SLACK_CLIENT_SECRET
'********************'
SLACK_ENABLED
True
SPIKE_ENABLED
True
STATICFILES_DIRS
[PosixPath('/var/www/status.ms/web/healthchecks/static')]
STATICFILES_FINDERS
('django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
 'compressor.finders.CompressorFinder')
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
PosixPath('/var/www/status.ms/web/healthchecks/static-collected')
STATIC_URL
'/static/'
STORAGES
{'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'},
 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}
SUPPORT_EMAIL
None
TELEGRAM_BOT_NAME
'ExampleBot'
TELEGRAM_TOKEN
'********************'
TEMPLATES
[{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': [PosixPath('/var/www/status.ms/web/healthchecks/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',
                                     'hc.front.context_processors.branding',
                                     'hc.payments.context_processors.payments']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
'hc.api.tests.CustomRunner'
THOUSAND_SEPARATOR
','
TIME_FORMAT
'P'
TIME_INPUT_FORMATS
['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE
'UTC'
TRELLO_APP_KEY
'********************'
TWILIO_ACCOUNT
None
TWILIO_AUTH
'********************'
TWILIO_FROM
None
TWILIO_MESSAGING_SERVICE_SID
None
TWILIO_USE_WHATSAPP
False
USE_DEPRECATED_PYTZ
False
USE_I18N
False
USE_L10N
True
USE_PAYMENTS
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
True
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
VERSION
'v2.11-dev'
VICTOROPS_ENABLED
True
WEBHOOKS_ENABLED
True
WHITENOISE_IMMUTABLE_FILE_TEST
<function immutable_file_test at 0x7f06af9e29d0>
WSGI_APPLICATION
'hc.wsgi.application'
X_FRAME_OPTIONS
'DENY'
YEAR_MONTH_FORMAT
'F Y'
ZULIP_ENABLED
True

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.