'book'
Request Method: | GET |
---|---|
Request URL: | https://kelebooks.com/book/rei-dalio-printsipy-zhizn-i-rabota/?page=1 |
Django Version: | 4.0 |
Exception Type: | KeyError |
Exception Value: | 'book' |
Exception Location: | /home/dortes/kelebooks/env/lib/python3.10/site-packages/django/contrib/sessions/backends/base.py, line 50, in __getitem__ |
Python Executable: | /home/dortes/kelebooks/env/bin/python |
Python Version: | 3.10.13 |
Python Path: | ['/home/dortes/kelebooks', '/home/dortes/kelebooks/env/bin', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/home/dortes/kelebooks/env/lib/python3.10/site-packages'] |
Server time: | Thu, 28 Mar 2024 18:46:11 +0000 |
/home/dortes/kelebooks/env/lib/python3.10/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('book') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fb12ca34280>> |
request | <WSGIRequest: GET '/book/rei-dalio-printsipy-zhizn-i-rabota/?page=1'> |
/home/dortes/kelebooks/env/lib/python3.10/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 View.as_view.<locals>.view at 0x7fb12b878d30> |
callback_args | () |
callback_kwargs | {'slug': 'rei-dalio-printsipy-zhizn-i-rabota'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <CsrfViewMiddleware get_response=convert_exception_to_response.<locals>.inner>> |
request | <WSGIRequest: GET '/book/rei-dalio-printsipy-zhizn-i-rabota/?page=1'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fb12ca34280> |
wrapped_callback | <function View.as_view.<locals>.view at 0x7fb12b878d30> |
/home/dortes/kelebooks/env/lib/python3.10/site-packages/django/views/generic/base.py
, line 69, 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
# instead.
Variable | Value |
---|---|
args | () |
cls | <class 'books.views.BookView'> |
initkwargs | {} |
kwargs | {'slug': 'rei-dalio-printsipy-zhizn-i-rabota'} |
request | <WSGIRequest: GET '/book/rei-dalio-printsipy-zhizn-i-rabota/?page=1'> |
self | <books.views.BookView object at 0x7fb12b6bf220> |
/home/dortes/kelebooks/env/lib/python3.10/site-packages/django/views/generic/base.py
, line 101, 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 BookView.get of <books.views.BookView object at 0x7fb12b6bf220>> |
kwargs | {'slug': 'rei-dalio-printsipy-zhizn-i-rabota'} |
request | <WSGIRequest: GET '/book/rei-dalio-printsipy-zhizn-i-rabota/?page=1'> |
self | <books.views.BookView object at 0x7fb12b6bf220> |
/home/dortes/kelebooks/books/views.py
, line 74, in get
except:
return HttpResponseRedirect("/")
self.object = self.get_object()
context = self.get_context_data(object=self.object)…
if self.request.user.is_authenticated:
current_user = Reader.objects.get_or_create(user=self.request.user)[0]
Variable | Value |
---|---|
args | (<WSGIRequest: GET '/book/rei-dalio-printsipy-zhizn-i-rabota/?page=1'>,) |
book_object | <Book: Принципы. Жизнь и работа> |
kwargs | {'slug': 'rei-dalio-printsipy-zhizn-i-rabota'} |
self | <books.views.BookView object at 0x7fb12b6bf220> |
/home/dortes/kelebooks/books/views.py
, line 141, in get_context_data
if int(page) == 1 and self.request.GET:
if self.request.user.is_authenticated:
current_user = Reader.objects.get_or_create(user=self.request.user)[0]
json_data = current_user.books
del json_data[str(context['object'].id)]
current_user.save()
else:
del self.request.session['book'][str(context['object'].id)]…
try:
Paginated = paginator.page(page)
Variable | Value |
---|---|
PaginatedInstance | ['<h2><p>Рэй Далио', '</p>', '\n<p>Принципы. Жизнь и работа', '</p>', '\n</h2><section><h2><p>Информация от издательства', '</p>', '\n' '</h2><p><em>Благодарим за рекомендацию книги Артема\xa0Гальцева, Татьяну\xa0' 'Алехину, Артема\xa0Колчина, Будимира\xa0Клювака, Михаила\xa0Гринина, ' 'Алексея\xa0Васильева, Константина\xa0Пугачева, Дмитрия\xa0Виноградова</em>', '</p>', '\n' '<hr/><p>Печатается по изданию: Ray Dalio. PRINCIPLES: Life and\xa0' 'Management.\xa0– NY: Simon & Schuster, 2017', '</p>', '\n' '<p>С разрешения литературных агентств Levine Greenberg Rostan и\xa0Synopsis', '</p>', '\n<p>Дизайн книги и обложки Родриго Коррал (ART & DESIGN)', '</p>', '\n<p>Под редакцией Антона Малькова', '</p>', '\n' '<hr/><p><em>Все права защищены. Никакая часть данной книги не может быть ' 'воспроизведена в какой бы то ни было форме без письменного разрешения ' 'владельцев авторских прав.</em>', '</p>', '\n<hr/><p>© Ray Dalio, 2017', '</p>', '\n' '<p>© Перевод на русский язык, издание на русском языке, оформление. ООО\xa0' '«Манн, Иванов и\xa0Фербер», 2018', '</p>', '\n' '<h3>* * *</h3></section><section><blockquote><p><strong>Посвящается Барбаре, ' 'моей половинке, которая делает меня целым на протяжении вот уже 40\xa0' 'лет</strong>', '</p>', '\n' '</blockquote><hr/></section><section><h2><p>Предисловие к российскому ' 'изданию', '</p>', '\n' '</h2><p>Передо мной лежит книга «Принципы» Рэя Далио\xa0– моего ' 'американского большого друга и единомышленника.', '</p>', '\n' '<p>Рэй\xa0– не обычный писатель. Точнее, он вовсе не писатель, а ' 'строитель:\xa0Рэй построил Bridgewater\xa0– один из самых эффективных в мире ' 'хедж-фондов,\xa0– начав в небольшой квартире и закончив в списке 100 самых ' 'богатых (по версии Forbes) и\xa0100\xa0самых влиятельных (по версии журнала ' 'Time) людей в мире. Успех был обусловлен не только гениальной интуицией Рэя, ' 'но и привычкой педантично фиксировать прошлые решения, тщательно ' 'анализировать их причины и создавать алгоритмы, которые служили бы ' 'GPS-навигатором для решений в неопределенном будущем.', '</p>', '\n' '<p>Рэй\xa0– self-made man, человек, который, без преувеличения, сделал себя ' 'сам.', '</p>', '\n' '<p>Его называют the oddest duck of Wall Street, и он действительно ' 'отличается от всех своим оригинальным мышлением, своим исключительным ' 'успехом и своей жаждой учиться и делиться знаниями. Я знаю совсем немного ' 'людей с такой любознательностью и восприимчивостью.', '</p>', '\n' '<p>Я был одним из тех счастливчиков, которым довелось прочитать первый ' 'самиздатовский вариант книги, который мы в\xa0Сбербанке перевели на русский ' 'язык. Это была пухлая папка с обычными листами А4, испещренными черным ' 'шрифтом. Тогда Рэй пригласил меня с командой в святая святых\xa0– в ' 'штаб-квартиру своей фирмы в\xa0Уэстпорте под Нью-Йорком. Я помню, как меня ' 'поразили форма и содержание этого места: простой интерьер, гармонирующий с ' 'природным ландшафтом.', '</p>', '\n' '<p>Но еще более нашу команду поразили философия, идеи и принципы, которые ' 'Рэй Далио исповедует в своем корпоративном доме и в жизни. Рэй\xa0– ' 'приверженец концепции радикальной правды и предельной прозрачности для всех ' 'сотрудников. Это значит, что на стол выкладывают сто процентов проблем, ' 'ошибок и слабостей. Что не страхует от ошибок в настоящем, но, пожалуй, ' 'является единственным способом избежать их в будущем, а также достичь ' 'взаимного уважения среди членов команды и следовать принципу меритократии ' 'идей: продвигать и награждать самых достойных, независимо от принадлежности ' 'к роду и племени.', '</p>', '\n' '<p>На первый взгляд в культуре предельной прозрачности жить нелегко, потому ' 'что люди говорят ровно то, что думают, невзирая на лица, открыто и без ' 'обиняков дают коллегам негативную обратную связь.\xa0Но формула Рэя\xa0– ' '«боль\xa0+ рефлексия\xa0= прогресс»\xa0– означает упорное движение к лучшей ' 'версии самого себя.', '</p>', '\n' '<p>Когда Сбербанк уже уверенно использовал такой … <trimmed 111578 bytes string> |
__class__ | <class 'books.views.BookView'> |
context | {'book': <Book: Принципы. Жизнь и работа>, 'object': <Book: Принципы. Жизнь и работа>, 'view': <books.views.BookView object at 0x7fb12b6bf220>} |
full_text | ('<h2><p>Рэй Далио</p>\n' '<p>Принципы. Жизнь и работа</p>\n' '</h2><section><h2><p>Информация от издательства</p>\n' '</h2><p><em>Благодарим за рекомендацию книги Артема\xa0Гальцева, Татьяну\xa0' 'Алехину, Артема\xa0Колчина, Будимира\xa0Клювака, Михаила\xa0Гринина, ' 'Алексея\xa0Васильева, Константина\xa0Пугачева, Дмитрия\xa0' 'Виноградова</em></p>\n' '<hr/><p>Печатается по изданию: Ray Dalio. PRINCIPLES: Life and\xa0' 'Management.\xa0– NY: Simon & Schuster, 2017</p>\n' '<p>С разрешения литературных агентств Levine Greenberg Rostan и\xa0' 'Synopsis</p>\n' '<p>Дизайн книги и обложки Родриго Коррал (ART & DESIGN)</p>\n' '<p>Под редакцией Антона Малькова</p>\n' '<hr/><p><em>Все права защищены. Никакая часть данной книги не может быть ' 'воспроизведена в какой бы то ни было форме без письменного разрешения ' 'владельцев авторских прав.</em></p>\n' '<hr/><p>© Ray Dalio, 2017</p>\n' '<p>© Перевод на русский язык, издание на русском языке, оформление. ООО\xa0' '«Манн, Иванов и\xa0Фербер», 2018</p>\n' '<h3>* * *</h3></section><section><blockquote><p><strong>Посвящается Барбаре, ' 'моей половинке, которая делает меня целым на протяжении вот уже 40\xa0' 'лет</strong></p>\n' '</blockquote><hr/></section><section><h2><p>Предисловие к российскому ' 'изданию</p>\n' '</h2><p>Передо мной лежит книга «Принципы» Рэя Далио\xa0– моего ' 'американского большого друга и единомышленника.</p>\n' '<p>Рэй\xa0– не обычный писатель. Точнее, он вовсе не писатель, а ' 'строитель:\xa0Рэй построил Bridgewater\xa0– один из самых эффективных в мире ' 'хедж-фондов,\xa0– начав в небольшой квартире и закончив в списке 100 самых ' 'богатых (по версии Forbes) и\xa0100\xa0самых влиятельных (по версии журнала ' 'Time) людей в мире. Успех был обусловлен не только гениальной интуицией Рэя, ' 'но и привычкой педантично фиксировать прошлые решения, тщательно ' 'анализировать их причины и создавать алгоритмы, которые служили бы ' 'GPS-навигатором для решений в неопределенном будущем.</p>\n' '<p>Рэй\xa0– self-made man, человек, который, без преувеличения, сделал себя ' 'сам.</p>\n' '<p>Его называют the oddest duck of Wall Street, и он действительно ' 'отличается от всех своим оригинальным мышлением, своим исключительным ' 'успехом и своей жаждой учиться и делиться знаниями. Я знаю совсем немного ' 'людей с такой любознательностью и восприимчивостью.</p>\n' '<p>Я был одним из тех счастливчиков, которым довелось прочитать первый ' 'самиздатовский вариант книги, который мы в\xa0Сбербанке перевели на русский ' 'язык. Это была пухлая папка с обычными листами А4, испещренными черным ' 'шрифтом. Тогда Рэй пригласил меня с командой в святая святых\xa0– в ' 'штаб-квартиру своей фирмы в\xa0Уэстпорте под Нью-Йорком. Я помню, как меня ' 'поразили форма и содержание этого места: простой интерьер, гармонирующий с ' 'природным ландшафтом.</p>\n' '<p>Но еще более нашу команду поразили философия, идеи и принципы, которые ' 'Рэй Далио исповедует в своем корпоративном доме и в жизни. Рэй\xa0– ' 'приверженец концепции радикальной правды и предельной прозрачности для всех ' 'сотрудников. Это значит, что на стол выкладывают сто процентов проблем, ' 'ошибок и слабостей. Что не страхует от ошибок в настоящем, но, пожалуй, ' 'является единственным способом избежать их в будущем, а также достичь ' 'взаимного уважения среди членов команды и следовать принципу меритократии ' 'идей: продвигать и награждать самых достойных, независимо от принадлежности ' 'к роду и племени.</p>\n' '<p>На первый взгляд в культуре предельной прозрачности жить нелегко, потому ' 'что люди говорят ровно то, что думают, невзирая на лица, открыто и без ' 'обиняков дают коллегам негативную обратную связь.\xa0Но формула Рэя\xa0– ' '«боль\xa0+ рефлексия\xa0= прогресс»\xa0– означает упорное движение к лучшей ' 'версии самого себя.</p>\n' '<p>Когда Сбербанк уже уверенно использовал такой HR-инструмент, как «оценка ' '360 градусов», раз в год, Bridgewater первым в мире стал делать эту оценку ' 'на ежедневной основе, практически в режиме реального времени. … <trimmed 109558 bytes string> |
kwargs | {'object': <Book: Принципы. Жизнь и работа>} |
page | '1' |
paginator | <django.core.paginator.Paginator object at 0x7fb12b2aac80> |
self | <books.views.BookView object at 0x7fb12b6bf220> |
/home/dortes/kelebooks/env/lib/python3.10/site-packages/django/contrib/sessions/backends/base.py
, line 50, in __getitem__
self.modified = False
self.serializer = import_string(settings.SESSION_SERIALIZER)
def __contains__(self, key):
return key in self._session
def __getitem__(self, key):
return self._session[key]…
def __setitem__(self, key, value):
self._session[key] = value
self.modified = True
def __delitem__(self, key):
Variable | Value |
---|---|
key | 'book' |
self | <django.contrib.sessions.backends.db.SessionStore object at 0x7fb12b6be770> |
AnonymousUser
Variable | Value |
---|---|
page | '1' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'kelebooks.com' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '34.200.248.66' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '34.200.248.66' |
PATH_INFO | '/book/rei-dalio-printsipy-zhizn-i-rabota/' |
QUERY_STRING | 'page=1' |
RAW_URI | '/book/rei-dalio-printsipy-zhizn-i-rabota/?page=1' |
REMOTE_ADDR | '' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | 'kelebooks.com' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/21.2.0' |
gunicorn.socket | <socket.socket fd=4, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/run/kelebooks.sock> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fb12b51b610> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7fb12b571e10> |
wsgi.input_terminated | True |
wsgi.multiprocess | False |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
thisbook.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['192.168.100.75', 'kelebooks.com', 'www.kelebooks.com', '127.0.0.1'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | PosixPath('/home/dortes/kelebooks') |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
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.sqlite3', 'HOST': '', 'NAME': PosixPath('/home/dortes/kelebooks/db.sqlite3'), 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}} |
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'] |
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_EMAIL | 'webmaster@localhost' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
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' |
HTML_MINIFY | True |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'django.contrib.sitemaps', 'star_ratings', 'hcaptcha_field', 'books'] |
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 | '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 | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '' |
MEDIA_URL | '/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', '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'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'thisbook.urls' |
SECRET_KEY | '********************' |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_CROSS_ORIGIN_OPENER_POLICY | 'same-origin' |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | '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 | True |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'thisbook.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 |
STAR_RATINGS_RATING_MODEL | 'star_ratings.Rating' |
STAR_RATINGS_STAR_HEIGHT | 22 |
STATICFILES_DIRS | [] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/dortes/kelebooks/files' |
STATIC_URL | '/files/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [PosixPath('/home/dortes/kelebooks/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', 'books.custom_context_processor.categories_render']}}] |
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_DEPRECATED_PYTZ | False |
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 | 'thisbook.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.