Cannot resolve keyword 'label2' into field. Choices are: end_date, end_date_written, end_end_date, end_start_date, id, isoCode_639_3, label, label_type, label_type_id, start_date, start_date_written, start_end_date, start_start_date, temp_entity, temp_entity_id
Request Method: | GET |
---|---|
Request URL: | http://ttnr.qprf.de/apis/entities/entity/work/40681/detail?WoL-sort=label2 |
Django Version: | 3.1.5 |
Exception Type: | FieldError |
Exception Value: | Cannot resolve keyword 'label2' into field. Choices are: end_date, end_date_written, end_end_date, end_start_date, id, isoCode_639_3, label, label_type, label_type_id, start_date, start_date_written, start_end_date, start_start_date, temp_entity, temp_entity_id |
Exception Location: | /home/ttnr/ttnr/apisenv/lib/python3.6/site-packages/django/db/models/sql/query.py, line 1482, in names_to_path |
Python Executable: | /home/ttnr/ttnr/apisenv/bin/python3.6 |
Python Version: | 3.6.12 |
Python Path: | ['/home/ttnr/ttnr', '/home/ttnr/ttnr/apisenv/bin', '/home/ttnr/ttnr/apisenv/lib/python36.zip', '/home/ttnr/ttnr/apisenv/lib/python3.6', '/home/ttnr/ttnr/apisenv/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6', '/home/ttnr/ttnr/apisenv/lib/python3.6/site-packages'] |
Server time: | Fri, 29 Mar 2024 11:57:56 +0000 |
/home/ttnr/ttnr/apisenv/lib/python3.6/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 | FieldError("Cannot resolve keyword 'label2' into field. Choices are: end_date, end_date_written, end_end_date, end_start_date, id, isoCode_639_3, label, label_type, label_type_id, start_date, start_date_written, start_end_date, start_start_date, temp_entity, temp_entity_id",) |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f023191bcc0>> |
request | <WSGIRequest: GET '/apis/entities/entity/work/40681/detail?WoL-sort=label2'> |
/home/ttnr/ttnr/apisenv/lib/python3.6/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 GenericEntitiesDetailView at 0x7f023087da60> |
callback_args | () |
callback_kwargs | {'entity': 'work', 'pk': '40681'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f02318a7438>> |
request | <WSGIRequest: GET '/apis/entities/entity/work/40681/detail?WoL-sort=label2'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f023191bcc0> |
wrapped_callback | <function GenericEntitiesDetailView at 0x7f023087da60> |
/home/ttnr/ttnr/apisenv/lib/python3.6/site-packages/django/views/generic/base.py
, line 70, 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
# take name and docstring from class
update_wrapper(view, cls, updated=())
Variable | Value |
---|---|
args | () |
cls | <class 'apis_core.apis_entities.detail_views.GenericEntitiesDetailView'> |
initkwargs | {} |
kwargs | {'entity': 'work', 'pk': '40681'} |
request | <WSGIRequest: GET '/apis/entities/entity/work/40681/detail?WoL-sort=label2'> |
self | <apis_core.apis_entities.detail_views.GenericEntitiesDetailView object at 0x7f0230a1e588> |
/home/ttnr/ttnr/apisenv/lib/python3.6/site-packages/django/contrib/auth/mixins.py
, line 109, in dispatch
"""
return self.test_func
def dispatch(self, request, *args, **kwargs):
user_test_result = self.get_test_func()()
if not user_test_result:
return self.handle_no_permission()
return super().dispatch(request, *args, **kwargs)…
Variable | Value |
---|---|
__class__ | <class 'django.contrib.auth.mixins.UserPassesTestMixin'> |
args | () |
kwargs | {'entity': 'work', 'pk': '40681'} |
request | <WSGIRequest: GET '/apis/entities/entity/work/40681/detail?WoL-sort=label2'> |
self | <apis_core.apis_entities.detail_views.GenericEntitiesDetailView object at 0x7f0230a1e588> |
user_test_result | True |
/home/ttnr/ttnr/apisenv/lib/python3.6/site-packages/django/views/generic/base.py
, line 98, in dispatch
# Try to dispatch to the right method; if a method doesn't exist,
# defer to the error handler. Also defer to the error handler if the
# request method isn't on the approved list.
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
return handler(request, *args, **kwargs)…
def http_method_not_allowed(self, request, *args, **kwargs):
logger.warning(
'Method Not Allowed (%s): %s', request.method, request.path,
extra={'status_code': 405, 'request': request}
)
Variable | Value |
---|---|
args | () |
handler | <bound method GenericEntitiesDetailView.get of <apis_core.apis_entities.detail_views.GenericEntitiesDetailView object at 0x7f0230a1e588>> |
kwargs | {'entity': 'work', 'pk': '40681'} |
request | <WSGIRequest: GET '/apis/entities/entity/work/40681/detail?WoL-sort=label2'> |
self | <apis_core.apis_entities.detail_views.GenericEntitiesDetailView object at 0x7f0230a1e588> |
/home/ttnr/ttnr/apis_core/apis_entities/detail_views.py
, line 78, in get
)
object_lod = Uri.objects.filter(entity=instance)
object_texts, ann_proj_form = get_highlighted_texts(request, instance)
object_labels = Label.objects.filter(temp_entity=instance)
tb_label = LabelTableBase(data=object_labels, prefix=entity.title()[:2]+'L-')
tb_label_open = request.GET.get('PL-page', None)
side_bar.append(('Label', tb_label, 'PersonLabel', tb_label_open))
RequestConfig(request, paginate={"per_page": 10}).configure(tb_label)…
template = select_template([
'apis_entities/detail_views/{}_detail_generic.html'.format(entity),
'apis_entities/detail_views/entity_detail_generic.html'
])
tei = getattr(settings, "APIS_TEI_TEXTS", [])
if tei:
Variable | Value |
---|---|
ann_proj_form | False |
args | () |
dict_1 | {'related_workA': <Work: EIKE0412R>} |
dict_2 | {'related_workB': <Work: EIKE0412R>} |
entity | 'work' |
entity_model | <class 'apis_core.apis_entities.models.Work'> |
instance | <Work: EIKE0412R> |
kwargs | {'entity': 'work', 'pk': '40681'} |
match | ['work', 'work'] |
object_labels | <QuerySet [<Label: EIKE0412R>]> |
object_lod | <QuerySet [<Uri: https://thinktanknetworkresearch.net/entity/40681/>]> |
object_texts | [] |
objects | <RelationPublishedQueryset [<WorkWork: EIKE0412R (uses frame) B4: It is not happening (climate change or global warming)>, <WorkWork: EIKE0412R (uses frame) A1: Contesting IPCC legitimacy (implicitly or explicitly)>]> |
pk | '40681' |
prefix | 'WoWo-' |
rel | <class 'apis_core.apis_relations.models.WorkWork'> |
relations | [<class 'apis_core.apis_relations.models.EventWork'>, <class 'apis_core.apis_relations.models.InstitutionWork'>, <class 'apis_core.apis_relations.models.PersonWork'>, <class 'apis_core.apis_relations.models.PlaceWork'>, <class 'apis_core.apis_relations.models.WorkWork'>] |
request | <WSGIRequest: GET '/apis/entities/entity/work/40681/detail?WoL-sort=label2'> |
self | <apis_core.apis_entities.detail_views.GenericEntitiesDetailView object at 0x7f0230a1e588> |
side_bar | [('Event', <apis_core.apis_relations.tables.get_generic_relations_table.<locals>.RelationTableDetail object at 0x7f022fe03f98>, 'EventWork', None), ('Institution', <apis_core.apis_relations.tables.get_generic_relations_table.<locals>.RelationTableDetail object at 0x7f022fe03c18>, 'InstitutionWork', None), ('Person', <apis_core.apis_relations.tables.get_generic_relations_table.<locals>.RelationTableDetail object at 0x7f02301350f0>, 'PersonWork', None), ('Place', <apis_core.apis_relations.tables.get_generic_relations_table.<locals>.RelationTableDetail object at 0x7f022ffce048>, 'PlaceWork', None), ('Work', <apis_core.apis_relations.tables.get_generic_relations_table.<locals>.RelationTableDetail object at 0x7f0230537f98>, 'WorkWork', None), ('Label', <apis_core.apis_relations.tables.LabelTableBase object at 0x7f022fb56710>, 'PersonLabel', None)] |
table | <class 'apis_core.apis_relations.tables.get_generic_relations_table.<locals>.RelationTableDetail'> |
tb_label | <apis_core.apis_relations.tables.LabelTableBase object at 0x7f022fb56710> |
tb_label_open | None |
tb_object | <apis_core.apis_relations.tables.get_generic_relations_table.<locals>.RelationTableDetail object at 0x7f0230537f98> |
tb_object_open | None |
title_card | 'Work' |
/home/ttnr/ttnr/apisenv/lib/python3.6/site-packages/django_tables2/config.py
, line 42, in configure
Configure a table using information from the request.
Arguments:
table (`~.Table`): table to be configured
"""
order_by = self.request.GET.getlist(table.prefixed_order_by_field)
if order_by:
table.order_by = order_by…
if self.paginate:
if hasattr(self.paginate, "items"):
kwargs = dict(self.paginate)
else:
kwargs = {}
# extract some options from the request
Variable | Value |
---|---|
order_by | ['label2'] |
self | <django_tables2.config.RequestConfig object at 0x7f022f5c2080> |
table | <apis_core.apis_relations.tables.LabelTableBase object at 0x7f022fb56710> |
/home/ttnr/ttnr/apisenv/lib/python3.6/site-packages/django_tables2/tables.py
, line 543, in order_by
# everything's been converted to a iterable, accept iterable!
for alias in order_by:
name = OrderBy(alias).bare
if name in self.columns and self.columns[name].orderable:
valid.append(alias)
self._order_by = OrderByTuple(valid)
self.data.order_by(self._order_by)…
@property
def order_by_field(self):
return (
self._order_by_field if self._order_by_field is not None else self._meta.order_by_field
)
Variable | Value |
---|---|
alias | 'label2' |
name | 'label2' |
order_by | ['label2'] |
self | <apis_core.apis_relations.tables.LabelTableBase object at 0x7f022fb56710> |
valid | ['label2'] |
value | ['label2'] |
/home/ttnr/ttnr/apisenv/lib/python3.6/site-packages/django_tables2/data.py
, line 226, in order_by
# custom ordering
if modified_any:
return
# Traditional ordering
if accessors:
order_by_accessors = (a.for_queryset() for a in accessors)
self.data = self.data.order_by(*order_by_accessors)…
@cached_property
def verbose_name(self):
"""
The full (singular) name for the data.
Variable | Value |
---|---|
accessors | ['label2'] |
alias | 'label2' |
aliases | ('label2',) |
bound_column | <django_tables2.columns.base.BoundColumn object at 0x7f02305a50b8> |
modified | False |
modified_any | False |
order_by_accessors | <generator object TableQuerysetData.order_by.<locals>.<genexpr> at 0x7f02302445c8> |
queryset | <QuerySet [<Label: EIKE0412R>]> |
self | <django_tables2.data.TableQuerysetData object at 0x7f0246724630> |
/home/ttnr/ttnr/apisenv/lib/python3.6/site-packages/django/db/models/query.py
, line 1134, in order_by
def order_by(self, *field_names):
"""Return a new QuerySet instance with the ordering changed."""
assert not self.query.is_sliced, \
"Cannot reorder a query once a slice has been taken."
obj = self._chain()
obj.query.clear_ordering(force_empty=False)
obj.query.add_ordering(*field_names)…
return obj
def distinct(self, *field_names):
"""
Return a new QuerySet instance that will select only distinct results.
"""
Variable | Value |
---|---|
field_names | ('label2',) |
obj | <QuerySet [<Label: EIKE0412R>]> |
self | <QuerySet [<Label: EIKE0412R>]> |
/home/ttnr/ttnr/apisenv/lib/python3.6/site-packages/django/db/models/sql/query.py
, line 1919, in add_ordering
item = item[1:]
if item in self.annotations:
continue
if self.extra and item in self.extra:
continue
# names_to_path() validates the lookup. A descriptive
# FieldError will be raise if it's not.
self.names_to_path(item.split(LOOKUP_SEP), self.model._meta)…
elif not hasattr(item, 'resolve_expression'):
errors.append(item)
if getattr(item, 'contains_aggregate', False):
raise FieldError(
'Using an aggregate in order_by() without also including '
'it in annotate() is not allowed: %s' % item
Variable | Value |
---|---|
errors | [] |
item | 'label2' |
ordering | ('label2',) |
self | <django.db.models.sql.query.Query object at 0x7f022f5c20b8> |
/home/ttnr/ttnr/apisenv/lib/python3.6/site-packages/django/db/models/sql/query.py
, line 1482, in names_to_path
if pos == -1 or fail_on_missing:
available = sorted([
*get_field_names_from_opts(opts),
*self.annotation_select,
*self._filtered_relations,
])
raise FieldError("Cannot resolve keyword '%s' into field. "
"Choices are: %s" % (name, ", ".join(available)))…
break
# Check if we need any joins for concrete inheritance cases (the
# field lives in parent, but we are currently in one of its
# children)
if model is not opts.model:
path_to_parent = opts.get_path_to_parent(model)
Variable | Value |
---|---|
allow_many | True |
available | ['end_date', 'end_date_written', 'end_end_date', 'end_start_date', 'id', 'isoCode_639_3', 'label', 'label_type', 'label_type_id', 'start_date', 'start_date_written', 'start_end_date', 'start_start_date', 'temp_entity', 'temp_entity_id'] |
cur_names_with_path | ('label2', []) |
fail_on_missing | False |
field | None |
filtered_relation | None |
name | 'label2' |
names | ['label2'] |
names_with_path | [] |
opts | <Options for Label> |
path | [] |
pos | -1 |
self | <django.db.models.sql.query.Query object at 0x7f022f5c20b8> |
AnonymousUser
Variable | Value |
---|---|
WoL-sort | 'label2' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'ttnr.qprf.de' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '52.55.19.189' |
HTTP_X_FORWARDED_PROTO | 'http' |
PATH_INFO | '/apis/entities/entity/work/40681/detail' |
QUERY_STRING | 'WoL-sort=label2' |
RAW_URI | '/apis/entities/entity/work/40681/detail?WoL-sort=label2' |
REMOTE_ADDR | '' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | 'ttnr.qprf.de' |
SERVER_PORT | '80' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/20.0.4' |
gunicorn.socket | <socket.socket fd=12, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/run/gunicorn.sock> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f022feaf5c0> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7f02309c6908> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
apis.settings.server
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ACDH_IMPRINT_URL | 'https://shared.acdh.oeaw.ac.at/acdh-common-assets/api/imprint.php?serviceID=' |
ADMINS | [] |
ALLOWED_HOSTS | ['thinktanknetworkresearch.net', 'ttnr.qprf.de'] |
APIS_ALTERNATE_NAMES | '********************' |
APIS_API_EXCLUDE_SETS | '********************' |
APIS_BASE_URI | '********************' |
APIS_CETEICEAN_CSS | '********************' |
APIS_CETEICEAN_JS | '********************' |
APIS_COMPONENTS | '********************' |
APIS_DELETE_VIEW_TEMPLATE | '********************' |
APIS_DETAIL_VIEWS_ALLOWED | '********************' |
APIS_ENTITIES | '********************' |
APIS_IIIF_ENT_IIIF_REL | '********************' |
APIS_IIIF_SERVER | '********************' |
APIS_IIIF_WORK_KIND | '********************' |
APIS_LIST_VIEWS_ALLOWED | '********************' |
APIS_LIST_VIEW_TEMPLATE | '********************' |
APIS_METAINFO | '********************' |
APIS_MIN_CHAR | '********************' |
APIS_NEXT_PREV | '********************' |
APIS_OSD_IMG_PREFIX | '********************' |
APIS_OSD_JS | '********************' |
APIS_RELATIONS | '********************' |
APIS_RELATIONS_FILTER_EXCLUDE | '********************' |
APIS_TEI_TEXTS | '********************' |
APIS_VOCABULARIES | '********************' |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ('django.contrib.auth.backends.ModelBackend', 'guardian.backends.ObjectPermissionBackend') |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/home/ttnr/ttnr' |
BIRTH_REL_NAME | 'place of birth' |
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_ALLOW_METHODS | ('GET', 'OPTIONS') |
CORS_ORIGIN_ALLOW_ALL | True |
CRISPY_TEMPLATE_PACK | 'bootstrap3' |
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_psycopg2', 'HOST': '127.0.0.1', 'NAME': 'ttnr21', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'ttnr'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
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'] |
DEATH_REL_NAME | 'place of death' |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
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 | '' |
DEV_VERSION | True |
DISALLOWED_USER_AGENTS | [] |
DJANGO_TABLES2_TEMPLATE | 'django_tables2/bootstrap4.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 |
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 | ['dal', 'dal_select2', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'reversion', 'crispy_forms', 'django_filters', 'django_tables2', 'rest_framework', 'webpage', 'browsing', 'apis_core.apis_entities', 'apis_core.apis_metainfo', 'apis_core.apis_relations', 'apis_core.apis_vocabularies', 'apis_core.apis_labels', 'rest_framework.authtoken', 'drf_spectacular', 'guardian', 'charts', 'infos'] |
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'), ('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' |
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 |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MAX_AGE | 3600 |
MEDIA_ROOT | '/home/ttnr/ttnr/media/' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['allow_cidr.middleware.AllowCIDRMiddleware', 'corsheaders.middleware.CorsMiddleware', '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', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'reversion.middleware.RevisionMiddleware', 'crum.CurrentRequestUserMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
PROJECT_DEFAULT_MD | {'app_type': 'database', 'author': 'Matthias Schlögl, Peter Andorfer', 'description': 'This is a default metadata file. To change this, provide ' 'provide a following file ' '{PROJECT_SHARED}/{PROJECT_NAME}/metadata.json', 'github': 'https://github.com/acdh-oeaw/apis-webpage-base', 'imprint': '/imprint', 'matomo_id': '', 'matomo_url': '', 'production instance': None, 'purpose_de': '', 'purpose_en': '', 'social_media': [('fab fa-twitter fa-2x', 'https://twitter.com/ACDH_OeAW'), ('fab fa-youtube fa-2x', 'https://www.youtube.com/channel/UCgaEMaMbPkULYRI5u6gvG-w')], 'subtitle': 'SUBTITLE', 'title': 'TITLE', 'version': ['apis_core', 'charts', 'django']} |
PROJECT_NAME | 'apis' |
PROJECT_SHARED | 'https://shared.acdh.oeaw.ac.at/apis/' |
REST_FRAMEWORK | {'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.TokenAuthentication', 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.BasicAuthentication'), 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend', 'drf_spectacular.contrib.django_filters.DjangoFilterBackend'), 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination', 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.DjangoObjectPermissions',), 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema', 'PAGE_SIZE': 50} |
ROOT_URLCONF | 'apis.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 | '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 | 'apis.settings.server' |
SHARED_URL | 'https://shared.acdh.oeaw.ac.at/' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SPECTACULAR_SETTINGS | {'COMPONENT_NO_READ_ONLY_REQUIRED': True, 'COMPONENT_SPLIT_REQUEST': True, 'DESCRIPTIOPN': 'Provides access to the main APIS data-model endpoints.', 'LICENSE': {'name': 'MIT License', 'url': 'https://www.mit.edu/~amini/LICENSE.md'}, 'TITLE': 'APIS generic API', 'VERSION': '0.13'} |
STATICFILES_DIRS | [] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/ttnr/ttnr/staticfiles/' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], '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', 'webpage.webpage_content_processors.installed_apps', 'webpage.webpage_content_processors.is_dev_version', 'webpage.webpage_content_processors.get_db_name', 'webpage.webpage_content_processors.title_img', 'webpage.webpage_content_processors.logo_img', 'webpage.webpage_content_processors.custom_css', 'webpage.webpage_content_processors.shared_url', 'webpage.webpage_content_processors.apis_app_name', 'apis_core.context_processors.custom_context_processors.add_entities', 'apis_core.context_processors.custom_context_processors.add_relations', 'apis_core.context_processors.custom_context_processors.add_apis_settings']}}] |
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 | True |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'apis.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.