'query'
Request Method: | GET |
---|---|
Request URL: | http://pravoslavnoe-duhovenstvo.ru/search/ |
Django Version: | 3.1.6 |
Exception Type: | MultiValueDictKeyError |
Exception Value: | 'query' |
Exception Location: | /usr/local/lib/python3.8/site-packages/django/utils/datastructures.py, line 78, in __getitem__ |
Python Executable: | /usr/local/bin/python |
Python Version: | 3.8.13 |
Python Path: | ['/priestdb', '/', '/usr/local/bin', '/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: | Tue, 19 Mar 2024 11:33:06 +0300 |
/usr/local/lib/python3.8/site-packages/django/utils/datastructures.py
, line 76, in __getitem__
def __getitem__(self, key):
"""
Return the last data value for this key, or [] if it's an empty list;
raise KeyError if not found.
"""
try:
list_ = super().__getitem__(key)…
except KeyError:
raise MultiValueDictKeyError(key)
try:
return list_[-1]
except IndexError:
return []
Variable | Value |
---|---|
__class__ | <class 'django.utils.datastructures.MultiValueDict'> |
key | 'query' |
self | <QueryDict: {}> |
/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 | MultiValueDictKeyError('query') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f74235cf280>> |
request | <WSGIRequest: GET '/search/'> |
/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 SearchView at 0x7f742311cca0> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f742328e2b0>> |
request | <WSGIRequest: GET '/search/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f74235cf280> |
wrapped_callback | <function SearchView at 0x7f742311cca0> |
/usr/local/lib/python3.8/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 'priestdb.web.views.SearchView'> |
initkwargs | {} |
kwargs | {} |
request | <WSGIRequest: GET '/search/'> |
self | <priestdb.web.views.SearchView object at 0x7f74218684f0> |
/usr/local/lib/python3.8/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 SearchView.get of <priestdb.web.views.SearchView object at 0x7f74218684f0>> |
kwargs | {} |
request | <WSGIRequest: GET '/search/'> |
self | <priestdb.web.views.SearchView object at 0x7f74218684f0> |
/priestdb/priestdb/web/views.py
, line 221, in get
return redirect(url_with_querystring('web:solovki', **url_params))
if data.get('fulltext_martyr', False):
url_params = data.dict()
url_params['search_type'] = 'fulltext'
return redirect(url_with_querystring('web:martyrs-biographies', **url_params))
return super(SearchView, self).get(request, *args, **kwargs)…
def get_context_data(self, **kwargs):
context = super(SearchView, self).get_context_data(**kwargs)
data = self.request.GET
result = fulltext_search(es, prepare_query_string(data['query']), size=SHORT_PAGE_SIZE)
Variable | Value |
---|---|
__class__ | <class 'priestdb.web.views.SearchView'> |
args | () |
data | <QueryDict: {}> |
kwargs | {} |
request | <WSGIRequest: GET '/search/'> |
self | <priestdb.web.views.SearchView object at 0x7f74218684f0> |
/usr/local/lib/python3.8/site-packages/django/views/generic/base.py
, line 159, in get
class TemplateView(TemplateResponseMixin, ContextMixin, View):
"""
Render a template. Pass keyword arguments from the URLconf to the context.
"""
def get(self, request, *args, **kwargs):
context = self.get_context_data(**kwargs)…
return self.render_to_response(context)
class RedirectView(View):
"""Provide a redirect on any GET request."""
permanent = False
Variable | Value |
---|---|
args | () |
kwargs | {} |
request | <WSGIRequest: GET '/search/'> |
self | <priestdb.web.views.SearchView object at 0x7f74218684f0> |
/priestdb/priestdb/web/views.py
, line 227, in get_context_data
return super(SearchView, self).get(request, *args, **kwargs)
def get_context_data(self, **kwargs):
context = super(SearchView, self).get_context_data(**kwargs)
data = self.request.GET
result = fulltext_search(es, prepare_query_string(data['query']), size=SHORT_PAGE_SIZE)…
context['result'] = result
context['data'] = data
context['size'] = SHORT_PAGE_SIZE
context['urls'] = dict(
persons_all=url_with_querystring('web:persons', query=data['query'], search_type='fulltext'),
Variable | Value |
---|---|
__class__ | <class 'priestdb.web.views.SearchView'> |
context | {'combo_data': {'authors': '[" \\u0422\\u0438\\u0445\\u043e\\u043d ' '(\\u0428\\u0435\\u0432\\u043a\\u0443\\u043d\\u043e\\u0432 ' '\\u0413\\u0435\\u043e\\u0440\\u0433\\u0438\\u0439 ' '\\u0410\\u043b\\u0435\\u043a\\u0441\\u0430\\u043d\\u0434\\u0440\\u043e\\u0432\\u0438\\u0447), ' '\\u043c\\u0438\\u0442\\u0440\\u043e\\u043f\\u043e\\u043b\\u0438\\u0442 ' '\\u041f\\u0441\\u043a\\u043e\\u0432\\u0441\\u043a\\u0438\\u0439 ' '\\u0438 ' '\\u041f\\u043e\\u0440\\u0445\\u043e\\u0432\\u0441\\u043a\\u0438\\u0439", ' '"\\u0410\\u0430\\u0440\\u043e\\u043d ' '(\\u041d\\u0430\\u0440\\u0446\\u0438\\u0441\\u0441\\u043e\\u0432 ' '\\u0410\\u043b\\u0435\\u043a\\u0441\\u0435\\u0439 ' '\\u0417\\u0430\\u0445\\u0430\\u0440\\u043e\\u0432\\u0438\\u0447), ' '\\u0435\\u043f\\u0438\\u0441\\u043a\\u043e\\u043f", ' '"\\u0410\\u0431\\u0430\\u043a\\u0443\\u043c\\u043e\\u0432\\u0441\\u043a\\u0438\\u0439 ' '\\u041f\\u0430\\u0432\\u0435\\u043b ' '\\u041f\\u0435\\u0442\\u0440\\u043e\\u0432\\u0438\\u0447, ' '\\u0441\\u0432\\u044f\\u0449\\u0435\\u043d\\u043d\\u0438\\u043a", ' '"\\u0410\\u0431\\u0434\\u0443\\u043b\\u043b\\u0430\\u0435\\u0432 ' '\\u0415\\u0432\\u0433\\u0435\\u043d\\u0438\\u0439 ' '\\u0412\\u0438\\u043a\\u0442\\u043e\\u0440\\u043e\\u0432\\u0438\\u0447", ' '"\\u0410\\u0431\\u0440\\u0430\\u043c\\u0435\\u043d\\u043a\\u043e ' '\\u041b\\u0435\\u043e\\u043d\\u0438\\u0434 ' '\\u041c\\u0438\\u0445\\u0430\\u0439\\u043b\\u043e\\u0432\\u0438\\u0447", ' '"\\u0410\\u0431\\u0440\\u043e\\u0441\\u0438\\u043c\\u043e\\u0432\\u0430 ' '\\u041b. \\u0412. ", ' '"\\u0410\\u0432\\u0433\\u0443\\u0441\\u0442\\u0438\\u043d ' '(\\u041d\\u0438\\u043a\\u0438\\u0442\\u0438\\u043d ' '\\u0414\\u043c\\u0438\\u0442\\u0440\\u0438\\u0439 ' '\\u0415\\u0432\\u0433\\u0435\\u043d\\u044c\\u0435\\u0432\\u0438\\u0447), ' '\\u0430\\u0440\\u0445\\u0438\\u043c\\u0430\\u043d\\u0434\\u0440\\u0438\\u0442", ' '"\\u0410\\u0432\\u0434\\u0435\\u0435\\u0432 ' '\\u041e. \\u0413.", ' '"\\u0410\\u0432\\u0440\\u0430\\u0430\\u043c\\u0438\\u0439 ' '(\\u041b\\u0435\\u0442\\u043d\\u0438\\u0446\\u043a\\u0438\\u0439 ' '\\u0410\\u043b\\u0435\\u043a\\u0441\\u0430\\u043d\\u0434\\u0440 ' '\\u0418\\u0432\\u0430\\u043d\\u043e\\u0432\\u0438\\u0447), ' '\\u0435\\u043f\\u0438\\u0441\\u043a\\u043e\\u043f", ' '"\\u0410\\u0433\\u0430\\u043f\\u0438\\u0435\\u0432 ' '\\u0412., ' '\\u0441\\u0432\\u044f\\u0449\\u0435\\u043d\\u043d\\u0438\\u043a", ' '"\\u0410\\u0433\\u0430\\u043f\\u0438\\u0439 ' '(\\u0413\\u043e\\u043b\\u0443\\u0431), ' '\\u0438\\u0435\\u0440\\u043e\\u043c\\u043e\\u043d\\u0430\\u0445", ' '"\\u0410\\u0433\\u0430\\u0444\\u043e\\u043d\\u043e\\u0432 ' '\\u0410\\u043b\\u0435\\u043a\\u0441\\u0430\\u043d\\u0434\\u0440 ' '\\u041b\\u0435\\u043e\\u043d\\u0438\\u0434\\u043e\\u0432\\u0438\\u0447, ' '\\u0441\\u0432\\u044f\\u0449\\u0435\\u043d\\u043d\\u0438\\u043a", ' '"\\u0410\\u04… <trimmed 6172541 bytes string> |
data | <QueryDict: {}> |
kwargs | {} |
self | <priestdb.web.views.SearchView object at 0x7f74218684f0> |
/usr/local/lib/python3.8/site-packages/django/utils/datastructures.py
, line 78, in __getitem__
"""
Return the last data value for this key, or [] if it's an empty list;
raise KeyError if not found.
"""
try:
list_ = super().__getitem__(key)
except KeyError:
raise MultiValueDictKeyError(key)…
try:
return list_[-1]
except IndexError:
return []
def __setitem__(self, key, value):
Variable | Value |
---|---|
__class__ | <class 'django.utils.datastructures.MultiValueDict'> |
key | 'query' |
self | <QueryDict: {}> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'pravoslavnoe-duhovenstvo.ru' |
HTTP_USER_AGENT | 'claudebot' |
PATH_INFO | '/search/' |
QUERY_STRING | '' |
RAW_URI | '/search/' |
REMOTE_ADDR | '172.30.0.3' |
REMOTE_PORT | '49610' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '0.0.0.0' |
SERVER_PORT | '8000' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/20.1.0' |
gunicorn.socket | <socket.socket fd=14, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.30.0.2', 8000), raddr=('172.30.0.3', 49610)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f742270f7f0> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7f74217663a0> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
priestdb.conf.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ACCOUNT_EMAIL_VERIFICATION | None |
ACCOUNT_LOGOUT_REDIRECT_URL | '/account/login/' |
ADMINS | () |
ALLOWED_HOSTS | ('*',) |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ('django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend') |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
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 | 'mtime' |
COMPRESS_DATA_URI_MAX_SIZE | 1024 |
COMPRESS_DEBUG_TOGGLE | None |
COMPRESS_ENABLED | False |
COMPRESS_FILTERS | {'css': ['compressor.filters.css_default.CssAbsoluteFilter'], 'js': ['compressor.filters.jsmin.JSMinFilter']} |
COMPRESS_JINJA2_GET_ENVIRONMENT | <function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7f7425173790> |
COMPRESS_MINT_DELAY | 30 |
COMPRESS_MTIME_DELAY | 10 |
COMPRESS_OFFLINE | False |
COMPRESS_OFFLINE_CONTEXT | {'STATIC_URL': '/static/'} |
COMPRESS_OFFLINE_MANIFEST | 'manifest.json' |
COMPRESS_OFFLINE_TIMEOUT | 31536000 |
COMPRESS_OUTPUT_DIR | 'CACHE' |
COMPRESS_PARSER | 'compressor.parser.AutoSelectParser' |
COMPRESS_PRECOMPILERS | () |
COMPRESS_REBUILD_TIMEOUT | 2592000 |
COMPRESS_ROOT | '/priestdb/static' |
COMPRESS_STORAGE | 'compressor.storage.CompressorFileStorage' |
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 | '' |
CRISPY_FAIL_SILENTLY | False |
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': 'pdb-prod4-pgsql', 'NAME': 'priestdb', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'priest'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'd-m-Y H:i' |
DATETIME_INPUT_FORMATS | '%d-%m-%Y %H:%i' |
DATE_FORMAT | 'd-m-Y' |
DATE_INPUT_FORMATS | ('%d-%m-%Y',) |
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 | 'duhovenstvo@solovki-monastyr.ru' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
ELASTICSEARCH_URLS | [{'host': 'pdb-prod4-es01'}] |
ELS_INDEX_UPDATE_PERSON_MAX | 250 |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_FROM | 'duhovenstvo@solovki-monastyr.ru' |
EMAIL_HOST | 'smtp.yandex.ru' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'duhovenstvo@solovki-monastyr.ru' |
EMAIL_PORT | 465 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | True |
EMAIL_USE_TLS | False |
FEINCMS_TREE_EDITOR_INCLUDE_ANCESTORS | True |
FILEBROWSER_MAX_UPLOAD_SIZE | 524288000 |
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' |
GOOGLE_RECAPTCHA_SECRET_KEY | '********************' |
GOOGLE_RECAPTCHA_SITE_KEY | '********************' |
GOOGLE_RECAPTCHA_URL | 'https://www.google.com/recaptcha/api/siteverify' |
GRAPPELLI_ADMIN_TITLE | 'PriestDB' |
GRAPPELLI_INDEX_DASHBOARD | 'priestdb.dashboard.CustomIndexDashboard' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ('django.contrib.auth', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.contenttypes', 'django.contrib.staticfiles', 'django.contrib.sites.apps.SitesConfig', 'django.contrib.humanize.apps.HumanizeConfig', 'django_nyt.apps.DjangoNytConfig', 'grappelli.dashboard', 'grappelli', 'filebrowser', 'django.contrib.admin', 'pytils', 'feincms', 'solo', 'compressor', 'widget_tweaks', 'loginas', 'priestdb', 'robokassa', 'crispy_forms', 'allauth', 'allauth.account', 'allauth.socialaccount', 'logentry_admin', 'mptt', 'sekizai', 'sorl.thumbnail', 'wiki.apps.WikiConfig', 'wiki.plugins.attachments.apps.AttachmentsConfig', 'wiki.plugins.notifications.apps.NotificationsConfig', 'wiki.plugins.images.apps.ImagesConfig', 'wiki.plugins.macros.apps.MacrosConfig', 'webpack_loader') |
INTERNAL_IPS | ('127.0.0.1',) |
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 | 'ru-RU' |
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 | '/cabinet/' |
LOGIN_URL | '/account/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | () |
MAX_UPLOAD_SIZE | 524288000 |
MEDIA_ROOT | '/priestdb/media' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware') |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROBOKASSA_EXTRA_PARAMS | ['type'] |
ROBOKASSA_LOGIN | 'priestdb' |
ROBOKASSA_PASSWORD1 | '********************' |
ROBOKASSA_PASSWORD2 | '********************' |
ROBOKASSA_STRICT_CHECK | True |
ROBOKASSA_TEST_MODE | False |
ROBOKASSA_USE_POST | True |
ROOT_URLCONF | 'priestdb.conf.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_MODE | True |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SENTRY_DSN | '' |
SERVER_EMAIL | 'duhovenstvo@solovki-monastyr.ru' |
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 | 'priestdb.conf.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 |
SITE_ROOT | '/priestdb' |
SITE_URL | 'http://pravoslavnoe-duhovenstvo.ru/' |
STATICFILES_DIRS | () |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder') |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/priestdb/static' |
STATIC_URL | '/static/' |
SUPPRESS_ELS_INDEX | False |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/priestdb/templates'], 'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth', 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'priestdb.web.context_processors.constants', 'priestdb.web.context_processors.main_menu', 'priestdb.cabinet.context_processors.cabinet_menu', 'priestdb.cabinet.context_processors.init_react_params', 'sekizai.context_processors.sekizai'], 'debug': False}}] |
TESTING | False |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
THUMBNAIL_DEBUG | True |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'Europe/Moscow' |
USE_I18N | True |
USE_L10N | True |
USE_REACT_DEVSERVER | False |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_WEBPACK_STATIC | False |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WEBPACK_LOADER | {'DEFAULT': {'CACHE': True, 'LOADER_CLASS': 'webpack_loader.loader.WebpackLoader', 'STATS_FILE': '/priestdb/priestdb/webpack-stats-react.production.json'}} |
WEBPACK_STATIC_URL | 'http://127.0.0.1:9000/' |
WEBPACK_STATS_REACT_ENV | 'production' |
WIKI_ACCOUNT_HANDLING | False |
WIKI_ACCOUNT_SIGNUP_ALLOWED | False |
WIKI_ANONYMOUS | False |
WIKI_ANONYMOUS_CREATE | False |
WIKI_ANONYMOUS_WRITE | False |
WIKI_CAN_READ | <function WIKI_CAN_READ at 0x7f7427d141f0> |
WIKI_CAN_WRITE | <function WIKI_CAN_WRITE at 0x7f7427c16040> |
WIKI_CHECK_SLUG_URL_AVAILABLE | False |
WIKI_MARKDOWN_KWARGS | {'safe_mode': False} |
WIKI_URL_CONFIG_CLASS | 'priestdb.web.djangowiki.WikiURLPatterns' |
WSGI_APPLICATION | None |
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.