Collection matching query does not exist.
Request Method: | GET |
---|---|
Request URL: | http://127.0.0.1:8001/api/spatial/?type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5 |
Django Version: | 4.1.7 |
Exception Type: | DoesNotExist |
Exception Value: | Collection matching query does not exist. |
Exception Location: | /py/lib/python3.10/site-packages/django/db/models/query.py, line 650, in get |
Raised during: | api.views.SpatialAPIView |
Python Executable: | /py/bin/python |
Python Version: | 3.10.7 |
Python Path: | ['/app', '/app', '/py/bin', '/usr/local/lib/python310.zip', '/usr/local/lib/python3.10', '/usr/local/lib/python3.10/lib-dynload', '/py/lib/python3.10/site-packages'] |
Server time: | Thu, 28 Mar 2024 20:15:20 +0000 |
/py/lib/python3.10/site-packages/django/core/handlers/exception.py
, line 56, in inner
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 | DoesNotExist('Collection matching query does not exist.') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fd5e760dc30>> |
request | <WSGIRequest: GET '/api/spatial/?type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5'> |
/py/lib/python3.10/site-packages/django/core/handlers/base.py
, line 197, 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 View.as_view.<locals>.view at 0x7fd5e3b16680> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <CsrfViewMiddleware get_response=convert_exception_to_response.<locals>.inner>> |
request | <WSGIRequest: GET '/api/spatial/?type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fd5e760dc30> |
wrapped_callback | <function View.as_view.<locals>.view at 0x7fd5e3b16680> |
/py/lib/python3.10/site-packages/django/views/decorators/csrf.py
, line 55, in wrapped_view
def csrf_exempt(view_func):
"""Mark a view function as being exempt from the CSRF view protection."""
# view_func.csrf_exempt = True would also work, but decorators are nicer
# if they don't have side effects, so return a new function.
def wrapped_view(*args, **kwargs):
return view_func(*args, **kwargs)…
wrapped_view.csrf_exempt = True
return wraps(view_func)(wrapped_view)
Variable | Value |
---|---|
args | (<WSGIRequest: GET '/api/spatial/?type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5'>,) |
kwargs | {} |
view_func | <function View.as_view.<locals>.view at 0x7fd5e3b165f0> |
/py/lib/python3.10/site-packages/django/views/generic/base.py
, line 103, in view
self = cls(**initkwargs)
self.setup(request, *args, **kwargs)
if not hasattr(self, "request"):
raise AttributeError(
"%s instance has no 'request' attribute. Did you override "
"setup() and forget to call super()?" % cls.__name__
)
return self.dispatch(request, *args, **kwargs)…
view.view_class = cls
view.view_initkwargs = initkwargs
# __name__ and __qualname__ are intentionally left unchanged as
# view_class should be used to robustly determine the name of the view
Variable | Value |
---|---|
args | () |
cls | <class 'api.views.SpatialAPIView'> |
initkwargs | {} |
kwargs | {} |
request | <WSGIRequest: GET '/api/spatial/?type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5'> |
self | <api.views.SpatialAPIView object at 0x7fd5e2d41f30> |
/py/lib/python3.10/site-packages/rest_framework/views.py
, line 509, in dispatch
self.http_method_not_allowed)
else:
handler = self.http_method_not_allowed
response = handler(request, *args, **kwargs)
except Exception as exc:
response = self.handle_exception(exc)…
self.response = self.finalize_response(request, response, *args, **kwargs)
return self.response
def options(self, request, *args, **kwargs):
"""
Variable | Value |
---|---|
args | () |
handler | <bound method SpatialAPIView.get of <api.views.SpatialAPIView object at 0x7fd5e2d41f30>> |
kwargs | {} |
request | <rest_framework.request.Request: GET '/api/spatial/?type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5'> |
self | <api.views.SpatialAPIView object at 0x7fd5e2d41f30> |
/py/lib/python3.10/site-packages/rest_framework/views.py
, line 469, in handle_exception
exception_handler = self.get_exception_handler()
context = self.get_exception_handler_context()
response = exception_handler(exc, context)
if response is None:
self.raise_uncaught_exception(exc)…
response.exception = True
return response
def raise_uncaught_exception(self, exc):
if settings.DEBUG:
Variable | Value |
---|---|
context | {'args': (), 'kwargs': {}, 'request': <rest_framework.request.Request: GET '/api/spatial/?type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5'>, 'view': <api.views.SpatialAPIView object at 0x7fd5e2d41f30>} |
exc | DoesNotExist('Collection matching query does not exist.') |
exception_handler | <function exception_handler at 0x7fd5e3c35870> |
response | None |
self | <api.views.SpatialAPIView object at 0x7fd5e2d41f30> |
/py/lib/python3.10/site-packages/rest_framework/views.py
, line 480, in raise_uncaught_exception
def raise_uncaught_exception(self, exc):
if settings.DEBUG:
request = self.request
renderer_format = getattr(request.accepted_renderer, 'format')
use_plaintext_traceback = renderer_format not in ('html', 'api', 'admin')
request.force_plaintext_errors(use_plaintext_traceback)
raise exc…
# Note: Views are made CSRF exempt from within `as_view` as to prevent
# accidental removal of this exemption in cases where `dispatch` needs to
# be overridden.
def dispatch(self, request, *args, **kwargs):
"""
Variable | Value |
---|---|
exc | DoesNotExist('Collection matching query does not exist.') |
renderer_format | 'json' |
request | <rest_framework.request.Request: GET '/api/spatial/?type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5'> |
self | <api.views.SpatialAPIView object at 0x7fd5e2d41f30> |
use_plaintext_traceback | True |
/py/lib/python3.10/site-packages/rest_framework/views.py
, line 506, in dispatch
# Get the appropriate handler method
if request.method.lower() in self.http_method_names:
handler = getattr(self, request.method.lower(),
self.http_method_not_allowed)
else:
handler = self.http_method_not_allowed
response = handler(request, *args, **kwargs)…
except Exception as exc:
response = self.handle_exception(exc)
self.response = self.finalize_response(request, response, *args, **kwargs)
return self.response
Variable | Value |
---|---|
args | () |
handler | <bound method SpatialAPIView.get of <api.views.SpatialAPIView object at 0x7fd5e2d41f30>> |
kwargs | {} |
request | <rest_framework.request.Request: GET '/api/spatial/?type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5'> |
self | <api.views.SpatialAPIView object at 0x7fd5e2d41f30> |
/app/api/views.py
, line 277, in get
# PlaceGeom records, only points
qs = PlaceGeom.objects.extra(
where=["geometrytype(geom) LIKE 'POINT'"]). \
annotate(distance=Distance('geom', pnt)). \
filter(geom__distance_lte=(pnt, D(km=dist))).order_by('distance')
# filter on params
if coll:
collids = Collection.objects.get(id=coll).places.all().values_list('id',flat=True)…
qs = qs.filter(place_id__in=collids)
qs = qs.filter(place__dataset=ds) if ds else qs
qs = qs.filter(place__fclasses__overlap=fclasses) if fclasses else qs
# qs = qs.filter(place__minmax__0__lte=year, place__minmax__1__gte=year) if year else qs
msg = "nearby query (lon, lat): "+str(pnt.coords)+' w/'+str(dist)+'km buffer'
Variable | Value |
---|---|
args | () |
coll | '5' |
dist | '10' |
ds | None |
err_note | None |
fc | 'P' |
fclasses | ['P'] |
format | <rest_framework.request.Request: GET '/api/spatial/?type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5'> |
kwargs | {} |
lat | '19.1302' |
lon | '-98.3067' |
ne | None |
pagesize | None |
params | <QueryDict: {'type': ['nearby'], 'lon': ['-98.3067'], 'lat': ['19.1302'], 'km': ['10'], 'fc': ['P'], 'collection': ['5']}> |
pnt | <Point object at 0x7fd5e28bc210> |
qs | <QuerySet []> |
qtype | 'nearby' |
self | <api.views.SpatialAPIView object at 0x7fd5e2d41f30> |
sw | None |
/py/lib/python3.10/site-packages/django/db/models/manager.py
, line 85, in manager_method
def check(self, **kwargs):
return []
@classmethod
def _get_queryset_methods(cls, queryset_class):
def create_method(name, method):
def manager_method(self, *args, **kwargs):
return getattr(self.get_queryset(), name)(*args, **kwargs)…
manager_method.__name__ = method.__name__
manager_method.__doc__ = method.__doc__
return manager_method
new_methods = {}
Variable | Value |
---|---|
args | () |
kwargs | {'id': '5'} |
name | 'get' |
self | <django.db.models.manager.Manager object at 0x7fd5e3dd0af0> |
/py/lib/python3.10/site-packages/django/db/models/query.py
, line 650, in get
):
limit = MAX_GET_RESULTS
clone.query.set_limits(high=limit)
num = len(clone)
if num == 1:
return clone._result_cache[0]
if not num:
raise self.model.DoesNotExist(…
"%s matching query does not exist." % self.model._meta.object_name
)
raise self.model.MultipleObjectsReturned(
"get() returned more than one %s -- it returned %s!"
% (
self.model._meta.object_name,
Variable | Value |
---|---|
args | () |
clone | <QuerySet []> |
kwargs | {'id': '5'} |
limit | 21 |
num | 0 |
self | <QuerySet [<Collection: Historical Gazetteer of the Middle East>, <Collection: Builder First>, <Collection: Cain's Workshop Collection>, <Collection: Gazetteer of Bulgar History>, <Collection: Historical Gazetteer of Central Asia>, <Collection: Cain's test>, <Collection: Voyages of Ibn Batutta>, <Collection: Cain's vis_params tester>, <Collection: Spanish Civil War Geography: Events and People>, <Collection: Hardscrabble>, <Collection: A Bulgar Story>, <Collection: The World of Olaudah Equiano (Gustavus Vassa), 1745-1797>]> |
AnonymousUser
Variable | Value |
---|---|
type | 'nearby' |
lon | '-98.3067' |
lat | '19.1302' |
km | '10' |
fc | 'P' |
collection | '5' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | '127.0.0.1:8001' |
HTTP_USER_AGENT | 'claudebot' |
PATH_INFO | '/api/spatial/' |
QUERY_STRING | 'type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5' |
RAW_URI | '/api/spatial/?type=nearby&lon=-98.3067&lat=19.1302&km=10&fc=P&collection=5' |
REMOTE_ADDR | '172.20.0.1' |
REMOTE_PORT | '44534' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '0.0.0.0' |
SERVER_PORT | '8003' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/21.2.0' |
gunicorn.socket | <socket.socket fd=10, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.20.0.6', 8003), raddr=('172.20.0.1', 44534)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fd5e2d41510> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7fd5e2d41780> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
whg.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ('django.contrib.auth.backends.ModelBackend', 'guardian.backends.ObjectPermissionBackend') |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'users.User' |
BASE_DIR | '/app' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CAPTCHA_NOISE_FUNCTIONS | ('captcha.helpers.noise_dots',) |
CELERY_ACCEPT_CONTENT | ['application/json'] |
CELERY_BROKER_URL | 'redis://redis:6379/0' |
CELERY_RESULT_BACKEND | 'django-db' |
CELERY_RESULT_EXPIRES | None |
CELERY_RESULT_EXTENDED | True |
CELERY_RESULT_SERIALIZER | 'json' |
CELERY_TASK_EAGER_PROPAGATES | True |
CELERY_TASK_SERIALIZER | 'json' |
CELERY_TIMEZONE | 'America/New_York' |
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 | ['http://dev.whgazetteer.org', 'https://dev.whgazetteer.org'] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.contrib.gis.db.backends.postgis', 'HOST': 'db', 'NAME': 'whgv3', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'whgadmin'}} |
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 | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_DEVELOPER | 'karl.geog@gmail.com' |
DEFAULT_FROM_EDITORIAL | 'als512@pitt.edu' |
DEFAULT_FROM_EMAIL | 'whg@pitt.edu' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
DJANGORESIZED_DEFAULT_FORCE_FORMAT | 'JPEG' |
DJANGORESIZED_DEFAULT_FORMAT_EXTENSIONS | {'JPEG': '.jpg'} |
DJANGORESIZED_DEFAULT_KEEP_META | True |
DJANGORESIZED_DEFAULT_NORMALIZE_ROTATION | True |
DJANGORESIZED_DEFAULT_QUALITY | 75 |
DJANGORESIZED_DEFAULT_SIZE | [1000, 800] |
ELASTIC_PASSWORD | '********************' |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_CONN | [{'host': 'smtp.sendgrid.net', 'password': '********************', 'port': 587, 'use_ssl': False, 'use_tls': True, 'user': 'apikey'}] |
EMAIL_HOST | 'smtp.sendgrid.net' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'apikey' |
EMAIL_PORT | 587 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_TO_ADMINS | ['karl.geog@gmail.com'] |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | True |
ES_APIKEY_ID | '********************' |
ES_APIKEY_KEY | '********************' |
ES_APIKEY_REMOTE | '********************' |
ES_CONN | <Elasticsearch(['http://172.17.0.1:9200'])> |
ES_REST_PWD | 'placial' |
ES_WHG | 'whg3dev' |
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' |
GDAL_LIBRARY_PATH | '/usr/lib/libgdal.so.28' |
GEOS_LIBRARY_PATH | '/usr/lib/x86_64-linux-gnu/libgeos_c.so.1' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.gis', 'django.contrib.messages', 'django.contrib.sessions', 'django.contrib.sites', 'livereload', 'django.contrib.staticfiles', 'bootstrap_modal_forms', 'captcha', 'celery_progress', 'django_celery_results', 'django_extensions', 'django_filters', 'django_resized', 'django_tables2', 'django_user_agents', 'djgeojson', 'guardian', 'leaflet', 'mathfilters', 'multiselectfield', 'rest_framework', 'rest_framework.authtoken', 'rest_framework_datatables', 'rest_framework_gis', 'drf_spectacular', 'tinymce', 'accounts.apps.AccountsConfig', 'api.apps.ApiConfig', 'areas.apps.AreasConfig', 'collection.apps.CollectionConfig', 'datasets.apps.DatasetsConfig', 'elastic.apps.ElasticConfig', 'main.apps.MainConfig', 'places.apps.PlacesConfig', 'remote.apps.RemoteConfig', 'resources.apps.ResourcesConfig', 'search.apps.SearchConfig', 'traces.apps.TracesConfig', 'users.apps.UsersConfig'] |
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'), ('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', '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 |
LEAFLET_CONFIG | {'ATTRIBUTION_PREFIX': "Tiles © <a href='http://mapbox.com/' " "target='_blank'>MapBox</a> | <a " "href='http://creativecommons.org/licenses/by-nc/3.0/deed.en_US' " "target='_blank'> CC-BY-NC 3.0</a>", 'DEFAULT_CENTER': (35.0, 13.0), 'DEFAULT_ZOOM': 1, 'MAX_ZOOM': 14, 'MIN_ZOOM': 1, 'RESET_VIEW': False, 'TILES': []} |
LOCALE_PATHS | [] |
LOGGING | {'disable_existing_loggers': False, 'handlers': {'file': {'class': 'logging.FileHandler', 'filename': 'whg/logs/debug.log', 'level': 'WARNING'}}, 'loggers': {'django': {'handlers': ['file'], 'level': 'WARNING', 'propagate': True}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/login/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | '/' |
MANAGERS | [] |
MAPBOX_TOKEN | '********************' |
MAPBOX_TOKEN_KG | '********************' |
MAPBOX_TOKEN_MB | '********************' |
MAPBOX_TOKEN_NEGLOBAL | '********************' |
MAPBOX_TOKEN_WHG | '********************' |
MAPTILER_KEY | '********************' |
MEDIA_ROOT | '/app/media/' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MESSAGE_TAGS | {10: 'alert-secondary', 20: 'alert-info', 25: 'alert-success', 30: 'alert-warning', 40: 'alert-danger'} |
MIDDLEWARE | ['django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.security.SecurityMiddleware', 'django_user_agents.middleware.UserAgentMiddleware', 'livereload.middleware.LiveReloadScript'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PREPEND_WWW | False |
PUBLIC_GROUP_ID | 'review' |
REST_FRAMEWORK | {'DEFAULT_FILTER_BACKENDS': ('rest_framework_datatables.filters.DatatablesFilterBackend',), 'DEFAULT_PAGINATION_CLASS': 'rest_framework_datatables.pagination.DatatablesPageNumberPagination', 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer', 'rest_framework_datatables.renderers.DatatablesRenderer'), 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema', 'PAGE_SIZE': 20} |
ROOT_URLCONF | 'whg.urls' |
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 |
SENDGRID_API_KEY | '********************' |
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 | 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 | 'whg.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_ID | 1 |
STATICFILES_DIRS | ['/app/datasets/static/', '/app/main/static/', '/app/whg/static/'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/app/static' |
STATIC_URL | '/static/' |
SWAGGER_SETTINGS | {} |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/main/templates', '/app/templates'], 'OPTIONS': {'builtins': ['whg.builtins'], 'context_processors': ['django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.debug', 'django.template.context_processors.media', 'django.template.context_processors.request'], 'debug': True}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TILER_URL | 'http://tiles.whgazetteer.org:3000/tiler' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'UTC' |
URL_FRONT | 'http://dev.whgazetteer.org/' |
USE_DEPRECATED_PYTZ | False |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | False |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'whg.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.