sequence index must be integer, not 'slice'
Request Method: | GET |
---|---|
Request URL: | http://dobrota.me-ga.ru/news?page=4 |
Django Version: | 1.9.7 |
Exception Type: | TypeError |
Exception Value: | sequence index must be integer, not 'slice' |
Exception Location: | /home/dobrota-tut/htdocs/dobrota-tut/django/dobro/models.py in get_page_list, line 24 |
Python Executable: | /usr/bin/python |
Python Version: | 2.7.6 |
Python Path: | ['/home/dobrota-tut/htdocs/dobrota-tut/django', '/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages/pip-6.0.6-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/aggdraw-1.1_20051010-py2.7-linux-x86_64.egg', '/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg', '/usr/local/lib/python2.7/dist-packages/Pillow-2.7.0-py2.7-linux-x86_64.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages'] |
Server time: | Пт, 29 Мар 2024 15:37:06 +0300 |
In template /home/dobrota-tut/htdocs/dobrota-tut/django/templates/news.html
, error at line 0
1 | {% extends "base.html" %} |
---|---|
2 | {% load threadedcommentstags %} |
3 | {% load pp_gal %} |
4 | |
5 | {% block title %}Новости, отчеты, фото и видео, анонсы событий{% endblock %} |
6 | |
7 | {% block content %} |
8 | <div class="page_path"> |
9 | <a href="/">Главная</a> > |
10 | <a href="/news">Новости</a> |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/core/handlers/base.py
in get_response
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)
except Exception as e:
response = self.process_exception_by_middleware(e, request)...
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
view_name = callback.__name__
else: # CBV
Variable | Value |
---|---|
e | TypeError("sequence index must be integer, not 'slice'",) |
callback_args | () |
resolver_match | ResolverMatch(func=dobro.views.news, args=(), kwargs={}, url_name=news, app_names=[], namespaces=[]) |
response_is_rendered | False |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fb6bfcff3d0>> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fb6c89baf50> |
request | <WSGIRequest: GET '/news?page=4'> |
callback | <function news at 0x7fb6bfcb3de8> |
wrapped_callback | <function news at 0x7fb6bfcb3de8> |
resolver | <RegexURLResolver 'core.urls' (None:None) ^/> |
callback_kwargs | {} |
response | None |
urlconf | 'core.urls' |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/core/handlers/base.py
in get_response
response = middleware_method(request, callback, callback_args, callback_kwargs)
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)...
except Exception as e:
response = self.process_exception_by_middleware(e, request)
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
Variable | Value |
---|---|
e | TypeError("sequence index must be integer, not 'slice'",) |
callback_args | () |
resolver_match | ResolverMatch(func=dobro.views.news, args=(), kwargs={}, url_name=news, app_names=[], namespaces=[]) |
response_is_rendered | False |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fb6bfcff3d0>> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fb6c89baf50> |
request | <WSGIRequest: GET '/news?page=4'> |
callback | <function news at 0x7fb6bfcb3de8> |
wrapped_callback | <function news at 0x7fb6bfcb3de8> |
resolver | <RegexURLResolver 'core.urls' (None:None) ^/> |
callback_kwargs | {} |
response | None |
urlconf | 'core.urls' |
/home/dobrota-tut/htdocs/dobrota-tut/django/dobro/views.py
in news
count = news_list.count()
news_list = news_list.order_by('-pub_date', '-id')
paginator = MyPaginator(news_list, 10, orphans=2) # Show 10 news per page, at last 12
page = request.GET.get('page')
list = paginator.get_paginate(page)
return render(request,'news.html', {'list': list, 'section_id': section_id, 'count': count,})...
def news_detail(request, new_id):
p = get_object_or_404(New, pk=new_id)
image_list = Image.objects.filter(album=p.album)
return render(request,'news_detail.html', {'new': p, 'image_list': image_list})
Variable | Value |
---|---|
paginator | <dobro.models.MyPaginator object at 0x7fb6bef73bd0> |
count | 100 |
request | <WSGIRequest: GET '/news?page=4'> |
list | <Page 4 of 10> |
section_id | None |
news_list | [<New: Пасха 2021>, <New: Добрые дела в преддверии Светлой Пасхи!>, <New: Рождественские подарки>, <New: Сбор пожертвований на подарки детям из детдомов>, <New: Добрые дела в октябре-ноябре 2020 г.>, <New: В новом учебном году…>, <New: Помоги собрать ребёнка в школу>, <New: ГКУ СО МО «Чеховский социально‑реабилитационный центр для несовершеннолетних «Аистенок»>, <New: Светлая Пасха 2020 и подарки>, <New: Дайджест о добрых делах в январе-феврале 2020 г.>, <New: С Праздником Рождества Христова!!!>, <New: Мечта - 2020>, <New: Итоги добрых дел за ноябрь и начало декабря 2019 года.>, <New: Дайджест за октябрь: радостный концерт в Чеховском детском доме, другие добрые дела.>, <New: Наши совместные добрые дела в сентябре 2019 года>, <New: Акция "Поможем собрать ребёнка в школу">, <New: Летние добрые дела>, <New: Период попразднества Светлого Христово Воскресения>, <New: Благодарственное обращение семьи мальчика Мирослава>, <New: Весенние добрые дела>, '...(remaining elements truncated)...'] |
page | u'4' |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/shortcuts.py
in render
if (context_instance is _context_instance_undefined
and current_app is _current_app_undefined
and dirs is _dirs_undefined
and dictionary is _dictionary_undefined):
# No deprecated arguments were passed - use the new code path
# In Django 1.10, request should become a positional argument.
content = loader.render_to_string(
template_name, context, request=request, using=using)...
else:
# Some deprecated arguments were passed - use the legacy code path
if context_instance is not _context_instance_undefined:
if current_app is not _current_app_undefined:
raise ValueError('If you provide a context_instance you must '
Variable | Value |
---|---|
dirs | <object object at 0x7fb6c8ada0b0> |
status | None |
content_type | None |
dictionary | <object object at 0x7fb6c8ada0a0> |
template_name | 'news.html' |
current_app | <object object at 0x7fb6c8ada060> |
request | <WSGIRequest: GET '/news?page=4'> |
context_instance | <object object at 0x7fb6c8ada080> |
context | {'count': 100, 'list': <Page 4 of 10>, 'section_id': None} |
using | None |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/loader.py
in render_to_string
and dirs is _dirs_undefined
and dictionary is _dictionary_undefined):
# No deprecated arguments were passed - use the new code path
if isinstance(template_name, (list, tuple)):
template = select_template(template_name, using=using)
else:
template = get_template(template_name, using=using)
return template.render(context, request)...
else:
chain = []
# Some deprecated arguments were passed - use the legacy code path
for engine in _engine_list(using):
try:
Variable | Value |
---|---|
dirs | <object object at 0x7fb6c8ada0b0> |
template | <django.template.backends.django.Template object at 0x7fb6bef73d50> |
dictionary | <object object at 0x7fb6c8ada0a0> |
template_name | 'news.html' |
request | <WSGIRequest: GET '/news?page=4'> |
context_instance | <object object at 0x7fb6c8ada080> |
context | {'count': 100, 'list': <Page 4 of 10>, 'section_id': None} |
using | None |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/backends/django.py
in render
"render() must be called with a dict, not a Context.",
RemovedInDjango110Warning, stacklevel=2)
else:
context = make_context(context, request)
try:
return self.template.render(context)...
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
self | <django.template.backends.django.Template object at 0x7fb6bef73d50> |
request | <WSGIRequest: GET '/news?page=4'> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)...
else:
return self._render(context)
finally:
context.render_context.pop()
def compile_nodelist(self):
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7fb6bef73f50> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7fb6bef73f50> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <ExtendsNode: extends "base.html"> |
self | [<ExtendsNode: extends "base.html">] |
bits | [] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
self | <ExtendsNode: extends "base.html"> |
e | TypeError("sequence index must be integer, not 'slice'",) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/loader_tags.py
in render
blocks = {n.name: n for n in
compiled_parent.nodelist.get_nodes_by_type(BlockNode)}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
return compiled_parent._render(context)...
class IncludeNode(Node):
context_key = '__include_context'
def __init__(self, template, *args, **kwargs):
Variable | Value |
---|---|
node | <IfNode> |
blocks | {u'content': <Block Node: content. Contents: [<TextNode: u'\n '>]>, u'content_index': <Block Node: content_index. Contents: [<TextNode: u'\n '>]>, u'head': <Block Node: head. Contents: []>, u'title': <Block Node: title. Contents: []>} |
block_context | <django.template.loader_tags.BlockContext object at 0x7fb6bf558850> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
compiled_parent | <django.template.base.Template object at 0x7fb6bee4f110> |
self | <ExtendsNode: extends "base.html"> |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7fb6bee4f110> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <IfNode> |
bit | u'</a>\n </div>\n </div>\n </div>\n<!-- ENDCOLUMN -->\n<!-- CENTERCOLUMN -->\n <div id="innercontainer">\n <table style="height: 400; width: 100%; margin-top: 0px;" align="center" border="0" cellpadding="0" cellspacing="0">\n <tr><td style="padding-top: 0px; padding-left: 0px; b order: 1px solid red;">\n' |
bits | [u'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\n<html>\n<head>\n <meta HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">\n <meta name="description" content="', u'\u0413\u043b\u0430\u0432\u043d\u044b\u043c \u0434\u0435\u043b\u043e\u043c \xab\u0414\u041e\u0411\u0420\u041e\u0422\u0410 \u0422\u0423\u0422\xbb \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u043f\u043e\u043c\u043e\u0449\u0438 \u043b\u044e\u0434\u044f\u043c, \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u043c \u0432 \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u0443\u044e \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0443\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0434\u0435\u0442\u0441\u043a\u0438\u043c \u0434\u043e\u043c\u0430\u043c.', u'">\n <meta name="keywords" content="', u'\u0434\u043e\u0431\u0440\u043e\u0442\u0430 \u0442\u0443\u0442, \u043f\u043e\u043c\u043e\u0449\u044c \u043b\u044e\u0434\u044f\u043c, \u043f\u043e\u043c\u043e\u0449\u044c \u0434\u0435\u0442\u0441\u043a\u0438\u043c \u0434\u043e\u043c\u0430\u043c, \u043f\u043e\u043c\u043e\u0449\u044c \u043f\u0440\u0438\u044e\u0442\u0430\u043c, \u0431\u043b\u0430\u0433\u043e\u0442\u0432\u043e\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0435\u0442\u0441\u043a\u043e\u043c\u0443 \u0434\u043e\u043c\u0443, \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435', u'">\n <title>', u'\u041d\u043e\u0432\u043e\u0441\u0442\u0438, \u043e\u0442\u0447\u0435\u0442\u044b, \u0444\u043e\u0442\u043e \u0438 \u0432\u0438\u0434\u0435\u043e, \u0430\u043d\u043e\u043d\u0441\u044b \u0441\u043e\u0431\u044b\u0442\u0438\u0439', u' | \u0414\u043e\u0431\u0440\u043e\u0442\u0430 \u0422\u0423\u0422', u'</title> \n <link rel="stylesheet" type="text/css" href="/static/css/main.css"/>\n <link rel="stylesheet" type="text/css" href="/static/css/imagestore.css"/>\n <link rel="stylesheet" type="text/css" href="/static/css/style.css"/>\n <link rel="stylesheet" type="text/css" href="/static/css/prettyPhoto.css"/>\n <link rel="shortcut icon" href="/static/images/favicon.png" type="image/png">\n <script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>\n <script src="/static/js/prettyphoto/jquery.prettyPhoto.js"></script>\n <script src="/static/js/topmenu.js" type="text/javascript" charset="utf-8"></script>\n <script type="text/javascript">\n var menu_top_init_offset = 0;\n $(document).ready(function(){\n $(window).scroll(function () {if ($(this).scrollTop() > 500) {$(\'#scroller\').fadeIn();} else {$(\'#scroller\').fadeOut();}});\n $(\'#scroller\').click(function () {$(\'body,html\').animate({scrollTop: 0}, 400); return false;});\n \n menu_top_init_offset = $(\'#menu-top\').offset().top;\n $(window).scroll(function () {if ($(this).scrollTop() > menu_top_init_offset) {$(\'#menu-top\').css(\'position\',\'fixed\');} else {$(\'#menu-top\').css(\'position\',\'relative\');}});\n \n $("a[rel^=\'prettyPhoto\']").prettyPhoto({ theme: \'light_square\' });\n });\n </script>\n<script src="http://vkontakte.ru/js/api/openapi.js" type="text/javascript"></script>\n ', u'', u'\n</head>\n<body>\n<!-- Yandex.Metrika counter -->\n<script type="text/javascript">\n (function (d, w, c) {\n (w[c] = w[c] || []).push(function() {\n try {\n w.yaCounter38505415 = new Ya.Metrika({\n id:38505415,\n clickmap:true,\n trackLinks:true,\n accurateTrackBounce:true,\n webvisor:true,\n ... <trimmed 19085 bytes string> |
self | [<TextNode: u'<!DOCTYPE HTML PUBLIC "-/'>, <IfNode>, <TextNode: u'">\n <meta name="keywor'>, <IfNode>, <TextNode: u'">\n <title>'>, <Block Node: title. Contents: []>, <IfNode>, <TextNode: u'</title> \n <'>, <Block Node: head. Contents: []>, <TextNode: u'\n</head>\n<body>\n<!-- Yand'>, <For Node: for topmenu in topmenu_list, tail_len: 1>, <TextNode: u'\n </ul>\n </'>, <IfNode>, <TextNode: u'\n '>, <IfNode>, <TextNode: u'\n '>, <IfNode>, <TextNode: u'\n <div style="mar'>, <IfNode>, <TextNode: u'\n <div class="item'>, <Variable Node: article.get_absolute_url>, <TextNode: u'" target="_self"><img src'>, <Variable Node: article.head.image>, <TextNode: u'" style="width: 100%;">'>, <Variable Node: article>, <TextNode: u'</a>\n </div>\n '>, <IfNode>, <TextNode: u'\n </td></tr>\n '>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
self | <IfNode> |
e | TypeError("sequence index must be integer, not 'slice'",) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/defaulttags.py
in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)...
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
self | <IfNode> |
match | True |
nodelist | [<TextNode: u'\n '>, <Block Node: content. Contents: [<TextNode: u'\n '>]>, <TextNode: u'\n'>] |
condition | None |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <Block Node: content. Contents: [<TextNode: u'\n '>]> |
bit | u'\n ' |
bits | [u'\n '] |
self | [<TextNode: u'\n '>, <Block Node: content. Contents: [<TextNode: u'\n '>]>, <TextNode: u'\n'>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
self | <Block Node: content. Contents: [<TextNode: u'\n '>]> |
e | TypeError("sequence index must be integer, not 'slice'",) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)...
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, 'context'):
Variable | Value |
---|---|
push | <Block Node: content. Contents: [<TextNode: u'\n<div class="page_path">\n'>, <django.template.loader_tags.IncludeNode object at 0x7fb6bef73550>, <TextNode: u'\n\n'>, <django.template.loader_tags.IncludeNode object at 0x7fb6be417bd0>, <TextNode: u'\n\n'>, <django.template.loader_tags.IncludeNode object at 0x7fb6be417310>, <TextNode: u'\n\n'>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7fb6bf558850> |
block | <Block Node: content. Contents: [<TextNode: u'\n<div class="page_path">\n'>, <django.template.loader_tags.IncludeNode object at 0x7fb6bef73550>, <TextNode: u'\n\n'>, <django.template.loader_tags.IncludeNode object at 0x7fb6be417bd0>, <TextNode: u'\n\n'>, <django.template.loader_tags.IncludeNode object at 0x7fb6be417310>, <TextNode: u'\n\n'>]> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
self | <Block Node: content. Contents: [<TextNode: u'\n '>]> |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <django.template.loader_tags.IncludeNode object at 0x7fb6bef73550> |
bit | u'\n<div class="page_path">\n<a href="/">\u0413\u043b\u0430\u0432\u043d\u0430\u044f</a> > \n<a href="/news">\u041d\u043e\u0432\u043e\u0441\u0442\u0438</a>\n</div>\n' |
bits | [u'\n<div class="page_path">\n<a href="/">\u0413\u043b\u0430\u0432\u043d\u0430\u044f</a> > \n<a href="/news">\u041d\u043e\u0432\u043e\u0441\u0442\u0438</a>\n</div>\n'] |
self | [<TextNode: u'\n<div class="page_path">\n'>, <django.template.loader_tags.IncludeNode object at 0x7fb6bef73550>, <TextNode: u'\n\n'>, <django.template.loader_tags.IncludeNode object at 0x7fb6be417bd0>, <TextNode: u'\n\n'>, <django.template.loader_tags.IncludeNode object at 0x7fb6be417310>, <TextNode: u'\n\n'>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
self | <django.template.loader_tags.IncludeNode object at 0x7fb6bef73550> |
e | TypeError("sequence index must be integer, not 'slice'",) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/loader_tags.py
in render
values = {
name: var.resolve(context)
for name, var in six.iteritems(self.extra_context)
}
if self.isolated_context:
return template.render(context.new(values))
with context.push(**values):
return template.render(context)...
except Exception:
if context.template.engine.debug:
raise
template_name = getattr(context, 'template_name', None) or 'unknown'
logger.warning(
"Exception raised while rendering {%% include %%} for "
Variable | Value |
---|---|
template | <django.template.base.Template object at 0x7fb6bf405250> |
template_name | u'page_list.html' |
self | <django.template.loader_tags.IncludeNode object at 0x7fb6bef73550> |
cache | {u'helpnow_list_sidebar.html': <django.template.base.Template object at 0x7fb6dbe079d0>, u'page_list.html': <django.template.base.Template object at 0x7fb6bf405250>, u'rukodelie_list_sidebar.html': <django.template.base.Template object at 0x7fb6bfcf2590>} |
values | {} |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render
context.render_context.push()
try:
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)
else:
return self._render(context)...
finally:
context.render_context.pop()
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7fb6bf405250> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
if context.template is None:
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7fb6bf405250> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <IfNode> |
self | [<IfNode>, <TextNode: u'\n'>] |
bits | [] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
self | <IfNode> |
e | TypeError("sequence index must be integer, not 'slice'",) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/defaulttags.py
in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)...
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
self | <IfNode> |
match | True |
nodelist | [<TextNode: u'\n<div class="pagination r'>, <IfNode>, <TextNode: u'\n '>, <For Node: for page_num in list.get_page_list, tail_len: 3>, <TextNode: u'\n '>, <IfNode>, <TextNode: u'\n\n</div>\n'>] |
condition | (> (literal <django.template.base.FilterExpression object at 0x7fb6bf405b50>) (literal <django.template.base.FilterExpression object at 0x7fb6bf405dd0>)) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)...
else:
bit = node
bits.append(force_text(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <For Node: for page_num in list.get_page_list, tail_len: 3> |
bit | u'\n ' |
bits | [u'\n<div class="pagination ramka_page r">\n\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u044b: \n ', u'\n <a class="page_num" href="?page=1"><span class="other_page">1</span></a>\n <span class="tblue padh1em">...</span>\n ', u'\n '] |
self | [<TextNode: u'\n<div class="pagination r'>, <IfNode>, <TextNode: u'\n '>, <For Node: for page_num in list.get_page_list, tail_len: 3>, <TextNode: u'\n '>, <IfNode>, <TextNode: u'\n\n</div>\n'>] |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)...
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
self | <For Node: for page_num in list.get_page_list, tail_len: 3> |
e | TypeError("sequence index must be integer, not 'slice'",) |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/defaulttags.py
in render
def render(self, context):
if 'forloop' in context:
parentloop = context['forloop']
else:
parentloop = {}
with context.push():
try:
values = self.sequence.resolve(context, True)...
except VariableDoesNotExist:
values = []
if values is None:
values = []
if not hasattr(values, '__len__'):
values = list(values)
Variable | Value |
---|---|
parentloop | {} |
self | <For Node: for page_num in list.get_page_list, tail_len: 3> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in resolve
self.filters = filters
self.var = var_obj
def resolve(self, context, ignore_failures=False):
if isinstance(self.var, Variable):
try:
obj = self.var.resolve(context)...
except VariableDoesNotExist:
if ignore_failures:
obj = None
else:
string_if_invalid = context.template.engine.string_if_invalid
if string_if_invalid:
Variable | Value |
---|---|
self | <django.template.base.FilterExpression object at 0x7fb6be776b10> |
ignore_failures | True |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in resolve
var)
self.lookups = tuple(var.split(VARIABLE_ATTRIBUTE_SEPARATOR))
def resolve(self, context):
"""Resolve this variable against a given context."""
if self.lookups is not None:
# We're dealing with a variable that needs to be resolved
value = self._resolve_lookup(context)...
else:
# We're dealing with a literal, so it's already been "resolved"
value = self.literal
if self.translate:
is_safe = isinstance(value, SafeData)
msgid = value.replace('%', '%%')
Variable | Value |
---|---|
self | <Variable: u'list.get_page_list'> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
/home/dobrota-tut/htdocs/env/lib/python2.7/site-packages/django/template/base.py
in _resolve_lookup
if callable(current):
if getattr(current, 'do_not_call_in_templates', False):
pass
elif getattr(current, 'alters_data', False):
current = context.template.engine.string_if_invalid
else:
try: # method call (assuming no args required)
current = current()...
except TypeError:
try:
inspect.getcallargs(current)
except TypeError: # arguments *were* required
current = context.template.engine.string_if_invalid # invalid method call
else:
Variable | Value |
---|---|
e | TypeError("sequence index must be integer, not 'slice'",) |
template_name | 'news.html' |
self | <Variable: u'list.get_page_list'> |
current | <bound method MyPage.get_page_list of <Page 4 of 10>> |
context | [{'False': False, 'None': None, 'True': True}, {}, {}, {'count': 100, 'list': <Page 4 of 10>, 'section_id': None}] |
bit | u'get_page_list' |
/home/dobrota-tut/htdocs/dobrota-tut/django/dobro/models.py
in get_page_list
class MyPage (Page):
def get_page_list (self):
if self.number < 4:
return list(self.paginator.page_range)[:5]
elif self.number > self.paginator.num_pages - 3:
return list(self.paginator.page_range)[-5:]
else:
return self.paginator.page_range[self.number-3:self.number+2]...
django.core.paginator.Page = MyPage
class MyPaginator (Paginator):
def get_paginate (self, page):
try:
Variable | Value |
---|---|
self | <Page 4 of 10> |
Variable | Value |
---|---|
page | u'4' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
mod_wsgi.listener_port | '80' |
CONTEXT_DOCUMENT_ROOT | '/home/dobrota-tut/htdocs/dobrota-tut/www' |
SERVER_SOFTWARE | 'Apache/2.4.7 (Ubuntu)' |
SCRIPT_NAME | u'' |
mod_wsgi.enable_sendfile | '0' |
mod_wsgi.handler_script | '' |
SERVER_SIGNATURE | '<address>Apache/2.4.7 (Ubuntu) Server at dobrota.me-ga.ru Port 80</address>\n' |
REQUEST_METHOD | 'GET' |
PATH_INFO | u'/news' |
SERVER_PROTOCOL | 'HTTP/1.1' |
QUERY_STRING | 'page=4' |
HTTP_USER_AGENT | 'claudebot' |
SERVER_NAME | 'dobrota.me-ga.ru' |
REMOTE_ADDR | '44.197.195.36' |
mod_wsgi.queue_start | '1711715825414015' |
mod_wsgi.request_handler | 'wsgi-script' |
wsgi.url_scheme | 'http' |
PATH_TRANSLATED | '/home/dobrota-tut/htdocs/dobrota-tut/django/core/wsgi.py/news' |
SERVER_PORT | '80' |
wsgi.multiprocess | True |
mod_wsgi.input_chunked | '0' |
SERVER_ADDR | '81.25.56.141' |
DOCUMENT_ROOT | '/home/dobrota-tut/htdocs/dobrota-tut/www' |
mod_wsgi.process_group | 'dobrota-tut' |
SCRIPT_FILENAME | '/home/dobrota-tut/htdocs/dobrota-tut/django/core/wsgi.py' |
SERVER_ADMIN | 'webmaster@localhost' |
wsgi.input | <mod_wsgi.Input object at 0x7fb6bf581870> |
HTTP_HOST | 'dobrota.me-ga.ru' |
CONTEXT_PREFIX | '' |
wsgi.multithread | False |
mod_wsgi.callable_object | 'application' |
REQUEST_URI | '/news?page=4' |
HTTP_ACCEPT | '*/*' |
wsgi.version | (1, 0) |
GATEWAY_INTERFACE | 'CGI/1.1' |
wsgi.run_once | False |
wsgi.errors | <mod_wsgi.Log object at 0x7fb6bf581830> |
REMOTE_PORT | '33336' |
mod_wsgi.listener_host | '' |
REQUEST_SCHEME | 'http' |
mod_wsgi.version | (3, 4) |
mod_wsgi.application_group | 'dobrota.me-ga.ru|' |
mod_wsgi.script_reloading | '1' |
wsgi.file_wrapper | '' |
core.settings
Setting | Value |
---|---|
SECURE_BROWSER_XSS_FILTER | False |
USE_X_FORWARDED_PORT | False |
USE_THOUSAND_SEPARATOR | False |
CSRF_COOKIE_SECURE | False |
LANGUAGE_CODE | 'ru-RU' |
ROOT_URLCONF | 'core.urls' |
MANAGERS | () |
EMAIL_HOST_PASSWORD | u'********************' |
SILENCED_SYSTEM_CHECKS | [] |
DEFAULT_CHARSET | 'utf-8' |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
STATIC_ROOT | '' |
ALLOWED_HOSTS | [] |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
SERVER_EMAIL | 'root@localhost' |
SECURE_HSTS_SECONDS | 0 |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_NAME | 'sessionid' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
SECURE_REDIRECT_EXEMPT | [] |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'localhost', 'NAME': 'dobro', 'OPTIONS': {}, 'PASSWORD': u'********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'dobro'}} |
EMAIL_SSL_KEYFILE | u'********************' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
DEFAULT_CONTENT_TYPE | 'text/html' |
APPEND_SLASH | True |
LOCALE_PATHS | [] |
DATABASE_ROUTERS | [] |
DEFAULT_TABLESPACE | '' |
YEAR_MONTH_FORMAT | 'F Y' |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
UPLOAD_ROOT | '/dobrota-tut' |
SESSION_COOKIE_PATH | '/' |
IMAGESTORE_IMAGE_MODEL | 'imagestore.Image' |
SECURE_CONTENT_TYPE_NOSNIFF | False |
MIDDLEWARE_CLASSES | ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware') |
USE_I18N | True |
THOUSAND_SEPARATOR | ',' |
SECRET_KEY | u'********************' |
LANGUAGE_COOKIE_NAME | 'django_language' |
DEFAULT_INDEX_TABLESPACE | '' |
LOGGING_CONFIG | 'logging.config.dictConfig' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
TEMPLATE_LOADERS | ('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader') |
FIRST_DAY_OF_WEEK | 0 |
WSGI_APPLICATION | 'core.wsgi.application' |
TEMPLATE_DEBUG | True |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
FORCE_SCRIPT_NAME | None |
USE_X_FORWARDED_HOST | False |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
EMAIL_TIMEOUT | None |
SECURE_SSL_HOST | None |
BASE_ROOT | '/home/dobrota-tut/htdocs' |
SESSION_COOKIE_SECURE | False |
CSRF_COOKIE_DOMAIN | None |
FILE_CHARSET | 'utf-8' |
DEBUG | True |
CSRF_TRUSTED_ORIGINS | [] |
LANGUAGE_COOKIE_DOMAIN | None |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
INSTALLED_APPS | ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.admin', 'dobro', 'tinymce', 'captcha', 'imagestore', 'sorl.thumbnail', 'tagging', 'threadedcomments') |
LANGUAGES | [('af', 'Afrikaans'), ('ar', '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'), ('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'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmal'), ('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'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
USE_L10N | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
STATICFILES_DIRS | ('/home/dobrota-tut/htdocs/dobrota-tut/www/static',) |
PREPEND_WWW | False |
SECURE_PROXY_SSL_HEADER | None |
LANGUAGE_COOKIE_AGE | None |
SESSION_COOKIE_HTTPONLY | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
CSRF_COOKIE_AGE | 31449600 |
MONTH_DAY_FORMAT | 'F j' |
LOGIN_URL | '/accounts/login/' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
TIME_FORMAT | 'P' |
AUTH_USER_MODEL | 'auth.User' |
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'] |
COMMENTS_APP | 'threadedcomments' |
CSRF_COOKIE_NAME | 'csrftoken' |
AUTH_PASSWORD_VALIDATORS | u'********************' |
PASSWORD_RESET_TIMEOUT_DAYS | u'********************' |
SESSION_FILE_PATH | None |
CACHE_MIDDLEWARE_ALIAS | 'default' |
SESSION_SAVE_EVERY_REQUEST | False |
NUMBER_GROUPING | 0 |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_COOKIE_PATH | '/' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
DECIMAL_SEPARATOR | '.' |
IGNORABLE_404_URLS | [] |
MIGRATION_MODULES | {} |
TEMPLATE_STRING_IF_INVALID | '' |
LOGOUT_URL | '/accounts/logout/' |
EMAIL_USE_TLS | False |
FIXTURE_DIRS | [] |
EMAIL_HOST | 'smtp.mail.ru' |
DATE_FORMAT | 'N j, Y' |
MEDIA_ROOT | '/home/dobrota-tut/htdocs/dobrota-tut/www/media' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
ADMINS | () |
FORMAT_MODULE_PATH | None |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
MEDIA_URL | '/media/' |
DATETIME_FORMAT | 'N j, Y, P' |
TEMPLATE_DIRS | ('/home/dobrota-tut/htdocs/dobrota-tut/django/templates',) |
SITE_ID | 1 |
DISALLOWED_USER_AGENTS | [] |
ALLOWED_INCLUDE_ROOTS | [] |
LOGGING | {'disable_existing_loggers': False, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}, 'handlers': {'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_false'], 'level': 'ERROR'}}, 'loggers': {'django.request': {'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True}}, 'version': 1} |
SHORT_DATE_FORMAT | 'm/d/Y' |
TEMPLATES | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
CACHE_MIDDLEWARE_KEY_PREFIX | u'********************' |
SECURE_SSL_REDIRECT | False |
TIME_ZONE | 'Europe/Moscow' |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
EMAIL_BACKEND | 'django_smtp_ssl.SSLEmailBackend' |
EMAIL_USE_SSL | False |
TEMPLATE_CONTEXT_PROCESSORS | ['django.contrib.auth.context_processors.auth', 'django.template.context_processors.debug', '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', 'dobro.context.insertlists', 'django.core.context_processors.request'] |
SESSION_COOKIE_AGE | 1209600 |
SETTINGS_MODULE | 'core.settings' |
USE_ETAGS | False |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
FILE_UPLOAD_TEMP_DIR | None |
INTERNAL_IPS | [] |
STATIC_URL | '/static/' |
EMAIL_PORT | 465 |
IMAGESTORE_ALBUM_MODEL | 'imagestore.Album' |
USE_TZ | False |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
TEST_NON_SERIALIZED_APPS | [] |
PASSWORD_HASHERS | u'********************' |
ABSOLUTE_URL_OVERRIDES | {} |
LANGUAGE_COOKIE_PATH | '/' |
CACHE_MIDDLEWARE_SECONDS | 600 |
EMAIL_SSL_CERTFILE | None |
CSRF_COOKIE_HTTPONLY | False |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y'] |
EMAIL_HOST_USER | '' |
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.