'HTTP_REFERER'
Request Method: | GET |
---|---|
Request URL: | http://0d284ad0b509:8000/en/blog/35 |
Django Version: | 3.2.4 |
Exception Type: | KeyError |
Exception Value: | 'HTTP_REFERER' |
Exception Location: | /usr/src/api/server/site_app/views.py, line 621, in blog_entry |
Python Executable: | /usr/local/bin/python |
Python Version: | 3.8.5 |
Python Path: | ['/usr/src/api/server', '/usr/local/lib/python38.zip', '/usr/local/lib/python3.8', '/usr/local/lib/python3.8/lib-dynload', '/usr/local/lib/python3.8/site-packages'] |
Server time: | Fri, 29 Mar 2024 13:54:28 +0000 |
/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | KeyError('HTTP_REFERER') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fec181a0880>> |
request | <WSGIRequest: GET '/en/blog/35'> |
/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py
, line 181, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function blog_entry at 0x7fec15f08790> |
callback_args | () |
callback_kwargs | {'pk': '35'} |
middleware_method | <bound method CorsMiddleware.process_view of <corsheaders.middleware.CorsMiddleware object at 0x7fec179c40a0>> |
request | <WSGIRequest: GET '/en/blog/35'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fec181a0880> |
wrapped_callback | <function blog_entry at 0x7fec15f08790> |
/usr/src/api/server/site_app/views.py
, line 621, in blog_entry
def blog_entry(request, pk):
entry = get_object_or_404(BlogEntry, pk=pk)
data = {
"active_section": "blog",
"object": entry,
"url": request.META['HTTP_REFERER'].split('.com')[0]+'.com'…
}
print(request.META)
return render(request, "ei/pages/blog_entry.html", data)
def comodo_auth_file(request):
Variable | Value |
---|---|
entry | <BlogEntry: BlogEntry object (35)> |
pk | '35' |
request | <WSGIRequest: GET '/en/blog/35'> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
ADMINS | 'admin eip@passionapes.com,' |
CONTENT_LENGTH | '' |
CONTENT_TYPE | 'text/plain' |
CURRENT_HOST | 'www.effectiveinstitutions.org/api' |
DEBUG | '1' |
DJANGO_ALLOWED_HOSTS | ('localhost 127.0.0.1 0.0.0.0 auth.oecdip.solbeg.com app-oceid.test.helmes.ee ' '[::1]') |
DJANGO_SETTINGS_MODULE | 'api.settings' |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtp.googlemail.com' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'effectiveinstitutions@gmail.com' |
EMAIL_PORT | '587' |
EMAIL_USE_TLS | 'True' |
GATEWAY_INTERFACE | 'CGI/1.1' |
GPG_KEY | '********************' |
HOME | '/root' |
HOSTNAME | '0d284ad0b509' |
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_USER_AGENT | 'claudebot' |
LANG | 'C.UTF-8' |
MAILCHIMP_API_KEY | '********************' |
MAILCHIMP_LIST_ID | 'a1730cda6f' |
MAILCHIMP_SERVER | 'us1' |
MAIL_API | '********************' |
MAIL_DOMAIN | 'sandbox3a69a54ee8584eafa0c42bb7ca4c1e75.mailgun.org' |
MANAGERS | 'passionapes eip@passionapes.com, eip effectiveinstitutions@oecd.org,' |
MAX_PINNED_PUBLICATIONS | '4' |
PATH | '/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' |
PATH_INFO | '/en/blog/35' |
POSTGRES_DB | 'effectiveinstitutes' |
POSTGRES_HOST | 'db' |
POSTGRES_PASSWORD | '********************' |
POSTGRES_PORT | '5432' |
POSTGRES_USER | 'postgres' |
PYTHONDONTWRITEBYTECODE | '1' |
PYTHONUNBUFFERED | '1' |
PYTHON_GET_PIP_SHA256 | '6e0bb0a2c2533361d7f297ed547237caf1b7507f197835974c0dd7eba998c53c' |
PYTHON_GET_PIP_URL | 'https://github.com/pypa/get-pip/raw/fa7dc83944936bf09a0e4cb5d5ec852c0d256599/get-pip.py' |
PYTHON_PIP_VERSION | '20.2.3' |
PYTHON_VERSION | '3.8.5' |
QUERY_STRING | '' |
REMOTE_ADDR | '172.19.0.1' |
REMOTE_HOST | '' |
REQUEST_METHOD | 'GET' |
RUN_MAIN | 'true' |
SCRIPT_NAME | '' |
SECRET_KEY | '********************' |
SERVER_EMAIL | 'effectiveinstitutions@gmail.com' |
SERVER_NAME | '0d284ad0b509' |
SERVER_PORT | '8000' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'WSGIServer/0.2' |
SITE_ID | '1' |
SQL_ENGINE | 'django.db.backends.postgresql' |
TEST | '0' |
TWITTER_API | '********************' |
TWITTER_API_SECRET | '********************' |
TWITTER_ID | '2842588978' |
TWITTER_TOKEN | '********************' |
TWITTER_TOKEN_SECRET | '********************' |
TZ | 'UTC' |
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 0x7fec15763e50> |
wsgi.multiprocess | False |
wsgi.multithread | True |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
api.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | (('admin', 'eip@passionapes.com,'),) |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django_auth_adfs.backend.AdfsBackend'] |
AUTH_ADFS | {'AUDIENCE': '22172bf2-57d6-41c3-8acc-b68e8d03f9a4', 'CLAIM_MAPPING': {'email': 'upn', 'first_name': 'given_name', 'last_name': 'family_name'}, 'CLIENT_ID': '22172bf2-57d6-41c3-8acc-b68e8d03f9a4', 'CLIENT_SECRET': '********************', 'RELYING_PARTY_ID': '22172bf2-57d6-41c3-8acc-b68e8d03f9a4', 'TENANT_ID': 'ac41c7d4-1f61-460d-b0f4-fc925a2b471c', 'USERNAME_CLAIM': 'upn'} |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | PosixPath('/usr/src/api/server') |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CORS_ALLOW_CREDENTIALS | True |
CORS_ORIGIN_ALLOW_ALL | True |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | 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 | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'db', 'NAME': 'effectiveinstitutes', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'postgres'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 10485760 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
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 | 1 |
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 | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtp.googlemail.com' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'effectiveinstitutions@gmail.com' |
EMAIL_PORT | '587' |
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' |
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' |
HAYSTACK_CONNECTIONS | {'default': {'ENGINE': 'haystack.backends.simple_backend.SimpleEngine'}} |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_cleanup.apps.CleanupConfig', 'django_auth_adfs', 'corsheaders', 'drf_yasg', 'rest_framework', 'rest_framework_simplejwt', 'rest_framework_simplejwt.token_blacklist', 'swagger_render', 'reversion', 'haystack', 'site_app', 'ei', 'users'] |
INTERNAL_IPS | [] |
LANGUAGES | (('en', 'English'), ('fr', 'French')) |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'en' |
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 |
LIVE_SEARCH_RESULTS_COUNT | 10 |
LOCALE_PATHS | ('/usr/src/api/server/locale',) |
LOGGING | {'disable_existing_loggers': False, 'formatters': {'verbose': {'format': '%(levelname)s %(asctime)s %(name)s ' '%(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose'}}, 'loggers': {'django_auth_adfs': {'handlers': ['console'], 'level': 'DEBUG'}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/' |
LOGIN_URL | 'django_auth_adfs:login' |
LOGOUT_REDIRECT_URL | None |
MAILCHIMP_API_KEY | '********************' |
MAILCHIMP_LIST_ID | 'a1730cda6f' |
MAILCHIMP_SERVER | 'us1' |
MANAGERS | (('passionapes', 'eip@passionapes.com'), ('eip', 'effectiveinstitutions@oecd.org,')) |
MEDIA_ROOT | '' |
MEDIA_URL | '/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['corsheaders.middleware.CorsMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
REST_FRAMEWORK | {'DEFAULT_AUTHENTICATION_CLASSES': ('django_auth_adfs.rest_framework.AdfsAccessTokenAuthentication', 'rest_framework_simplejwt.authentication.JWTAuthentication', 'api.session_auth.CsrfExemptSessionAuthentication', 'rest_framework.authentication.BasicAuthentication'), 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'DEFAULT_PARSER_CLASSES': ['rest_framework.parsers.JSONParser', 'rest_framework.parsers.FormParser', 'rest_framework.parsers.MultiPartParser', 'rest_framework.parsers.FileUploadParser'], 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer',), 'PAGE_SIZE': 10} |
ROOT_URLCONF | 'api.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
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 | 'effectiveinstitutions@gmail.com' |
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 | 'api.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': '********************', 'ALGORITHM': 'HS256', 'AUDIENCE': None, 'AUTH_HEADER_NAME': 'HTTP_AUTHORIZATION', 'AUTH_HEADER_TYPES': ('Bearer',), 'AUTH_TOKEN_CLASSES': '********************', 'BLACKLIST_AFTER_ROTATION': True, 'ISSUER': None, 'JTI_CLAIM': 'jti', 'REFRESH_TOKEN_LIFETIME': '********************', 'ROTATE_REFRESH_TOKENS': '********************', 'SIGNING_KEY': '********************', 'SLIDING_TOKEN_LIFETIME': '********************', 'SLIDING_TOKEN_REFRESH_EXP_CLAIM': '********************', 'SLIDING_TOKEN_REFRESH_LIFETIME': '********************', 'TOKEN_TYPE_CLAIM': '********************', 'UPDATE_LAST_LOGIN': False, 'USER_AUTHENTICATION_RULE': 'rest_framework_simplejwt.authentication.default_user_authentication_rule', 'USER_ID_CLAIM': 'user_id', 'USER_ID_FIELD': 'id', 'VERIFYING_KEY': '********************'} |
STATICFILES_DIRS | [PosixPath('/usr/src/api/server/static')] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | None |
STATIC_URL | '/static/' |
SWAGGER_SETTINGS | {'SECURITY_DEFINITIONS': {'basic': {'type': 'basic'}}} |
SWAGGER_YAML_FILENAME | '/docs/index.json' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [PosixPath('/usr/src/api/server/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', 'site_app.context_processors.get_dropdown_articles', 'site_app.context_processors.categories_names', 'site_app.context_processors.publication_categories_names', 'site_app.context_processors.redirect_newsletter']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'UTC' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'api.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
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.