ERROR: no more connections allowed (max_client_conn)
Request Method: | GET |
---|---|
Request URL: | https://utv.ru/material/v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka/ |
Django Version: | 1.11.15 |
Exception Type: | OperationalError |
Exception Value: | ERROR: no more connections allowed (max_client_conn) |
Exception Location: | /home/utv/ve/lib/python3.5/site-packages/psycopg2/__init__.py in connect, line 127 |
Python Executable: | /home/utv/ve/bin/uwsgi |
Python Version: | 3.5.3 |
Python Path: | ['.', '', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/home/utv/ve/lib/python3.5/site-packages', '/home/utv/utv'] |
Server time: | Чт, 28 Мар 2024 15:19:08 +0500 |
/home/utv/ve/lib/python3.5/site-packages/django/db/backends/base/base.py
in ensure_connection
def ensure_connection(self):
"""
Guarantees that a connection to the database is established.
"""
if self.connection is None:
with self.wrap_database_errors:
self.connect()...
# ##### Backend-specific wrappers for PEP-249 connection methods #####
def _prepare_cursor(self, cursor):
"""
Validate the connection is usable and perform database cursor wrapping.
Variable | Value |
---|---|
self | <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f99ed89a128> |
/home/utv/ve/lib/python3.5/site-packages/django/db/backends/base/base.py
in connect
# Reset parameters defining when to close the connection
max_age = self.settings_dict['CONN_MAX_AGE']
self.close_at = None if max_age is None else time.time() + max_age
self.closed_in_transaction = False
self.errors_occurred = False
# Establish the connection
conn_params = self.get_connection_params()
self.connection = self.get_new_connection(conn_params)...
self.set_autocommit(self.settings_dict['AUTOCOMMIT'])
self.init_connection_state()
connection_created.send(sender=self.__class__, connection=self)
self.run_on_commit = []
Variable | Value |
---|---|
conn_params | {'database': 'utv_ru', 'host': 'postgresql.lo.ufanet.ru', 'password': 'fauna6sleepy_', 'port': 6432, 'user': 'utv_ru'} |
max_age | None |
self | <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f99ed89a128> |
/home/utv/ve/lib/python3.5/site-packages/django/db/backends/postgresql/base.py
in get_new_connection
if settings_dict['HOST']:
conn_params['host'] = settings_dict['HOST']
if settings_dict['PORT']:
conn_params['port'] = settings_dict['PORT']
return conn_params
def get_new_connection(self, conn_params):
connection = Database.connect(**conn_params)...
# self.isolation_level must be set:
# - after connecting to the database in order to obtain the database's
# default when no value is explicitly specified in options.
# - before calling _set_autocommit() because if autocommit is on, that
# will set connection.isolation_level to ISOLATION_LEVEL_AUTOCOMMIT.
Variable | Value |
---|---|
conn_params | {'database': 'utv_ru', 'host': 'postgresql.lo.ufanet.ru', 'password': 'fauna6sleepy_', 'port': 6432, 'user': 'utv_ru'} |
self | <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f99ed89a128> |
/home/utv/ve/lib/python3.5/site-packages/psycopg2/__init__.py
in connect
if 'async_' in kwargs:
kwasync['async_'] = kwargs.pop('async_')
if dsn is None and not kwargs:
raise TypeError('missing dsn and no parameters')
dsn = _ext.make_dsn(dsn, **kwargs)
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)...
if cursor_factory is not None:
conn.cursor_factory = cursor_factory
return conn
Variable | Value |
---|---|
connection_factory | None |
cursor_factory | None |
dsn | ('user=utv_ru dbname=utv_ru port=6432 password=fauna6sleepy_ ' 'host=postgresql.lo.ufanet.ru') |
kwargs | {'database': 'utv_ru', 'host': 'postgresql.lo.ufanet.ru', 'password': 'fauna6sleepy_', 'port': 6432, 'user': 'utv_ru'} |
kwasync | {} |
/home/utv/ve/lib/python3.5/site-packages/django/core/handlers/exception.py
in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(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 | OperationalError('ERROR: no more connections allowed (max_client_conn)\n',) |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f99ece0a668>> |
request | <WSGIRequest: GET '/material/v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka/'> |
/home/utv/ve/lib/python3.5/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 |
---|---|
callback | <function MaterialView at 0x7f99f16b9400> |
callback_args | () |
callback_kwargs | {'material_alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f99ec203d30>> |
request | <WSGIRequest: GET '/material/v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka/'> |
resolver | <RegexURLResolver 'configs.urls' (None:None) ^/> |
resolver_match | ResolverMatch(func=modules.content.views.MaterialView, args=(), kwargs={'material_alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'}, url_name=page_single_material, app_names=[], namespaces=['content']) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f99ece0a668> |
wrapped_callback | <function MaterialView at 0x7f99f16b9400> |
/home/utv/ve/lib/python3.5/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 |
---|---|
callback | <function MaterialView at 0x7f99f16b9400> |
callback_args | () |
callback_kwargs | {'material_alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f99ec203d30>> |
request | <WSGIRequest: GET '/material/v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka/'> |
resolver | <RegexURLResolver 'configs.urls' (None:None) ^/> |
resolver_match | ResolverMatch(func=modules.content.views.MaterialView, args=(), kwargs={'material_alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'}, url_name=page_single_material, app_names=[], namespaces=['content']) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f99ece0a668> |
wrapped_callback | <function MaterialView at 0x7f99f16b9400> |
/home/utv/ve/lib/python3.5/site-packages/django/utils/decorators.py
in _wrapped_view
if result is not None:
return result
if hasattr(middleware, 'process_view'):
result = middleware.process_view(request, view_func, args, kwargs)
if result is not None:
return result
try:
response = view_func(request, *args, **kwargs)...
except Exception as e:
if hasattr(middleware, 'process_exception'):
result = middleware.process_exception(request, e)
if result is not None:
return result
raise
Variable | Value |
---|---|
args | () |
kwargs | {'material_alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'} |
middleware | <django.views.decorators.csrf._EnsureCsrfCookie object at 0x7f99f015cfd0> |
request | <WSGIRequest: GET '/material/v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka/'> |
result | None |
view_func | <function MaterialView at 0x7f99f16b9378> |
/home/utv/ve/lib/python3.5/site-packages/django/views/generic/base.py
in view
def view(request, *args, **kwargs):
self = cls(**initkwargs)
if hasattr(self, 'get') and not hasattr(self, 'head'):
self.head = self.get
self.request = request
self.args = args
self.kwargs = kwargs
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 'modules.content.views.MaterialView'> |
initkwargs | {} |
kwargs | {'material_alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'} |
request | <WSGIRequest: GET '/material/v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka/'> |
self | <modules.content.views.MaterialView object at 0x7f99f166a358> |
/home/utv/ve/lib/python3.5/site-packages/django/views/generic/base.py
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 TemplateView.get of <modules.content.views.MaterialView object at 0x7f99f166a358>> |
kwargs | {'material_alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'} |
request | <WSGIRequest: GET '/material/v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka/'> |
self | <modules.content.views.MaterialView object at 0x7f99f166a358> |
/home/utv/ve/lib/python3.5/site-packages/django/views/generic/base.py
in get
class TemplateView(TemplateResponseMixin, ContextMixin, View):
"""
A view that renders a template. This view will also pass into the context
any keyword arguments passed by the URLconf.
"""
def get(self, request, *args, **kwargs):
context = self.get_context_data(**kwargs)...
return self.render_to_response(context)
class RedirectView(View):
"""
A view that provides a redirect on any GET request.
Variable | Value |
---|---|
args | () |
kwargs | {'material_alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'} |
request | <WSGIRequest: GET '/material/v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka/'> |
self | <modules.content.views.MaterialView object at 0x7f99f166a358> |
./modules/content/views.py
in get_context_data
class MaterialView(TemplateViewMixin):
""" Материалы """
template_name = 'main/material.html'
def get_context_data(self, **kwargs):
context = super(MaterialView, self).get_context_data(**kwargs)
material = self.get_material...
if material is None:
raise Http404
material_key = MATERIAL_KEY.format(material.id) if material else None
queryset = material.programs.materials.published().actual() \
Variable | Value |
---|---|
__class__ | <class 'modules.content.views.MaterialView'> |
context | Error in formatting: OperationalError: ERROR: no more connections allowed (max_client_conn) |
kwargs | {'material_alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'} |
self | <modules.content.views.MaterialView object at 0x7f99f166a358> |
/home/utv/ve/lib/python3.5/site-packages/django/utils/functional.py
in __get__
self.func = func
self.__doc__ = getattr(func, '__doc__')
self.name = name or func.__name__
def __get__(self, instance, cls=None):
if instance is None:
return self
res = instance.__dict__[self.name] = self.func(instance)...
return res
class Promise(object):
"""
This is just a base class for the proxy class created in
Variable | Value |
---|---|
cls | <class 'modules.content.views.MaterialView'> |
instance | <modules.content.views.MaterialView object at 0x7f99f166a358> |
self | <django.utils.functional.cached_property object at 0x7f99e77c7c50> |
./modules/content/mixins.py
in get_material
Получение материала
ARGUMENTS:
:return: content.Material | None
"""
material_alias = self.kwargs.get('material_alias')
if material_alias:
material = Material.get_by_alias(material_alias)...
else:
material = None
LOGGER.debug('Material selected: {0}'.format(material))
return material
def get_random_programs(self, count):
Variable | Value |
---|---|
material_alias | 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka' |
self | <modules.content.views.MaterialView object at 0x7f99f166a358> |
./modules/content/models.py
in get_by_alias
Получить новость по псевдониму
ARGUMENTS:
:param alias: str
:return: content.ShortNews
"""
try:
material = cls.objects.get(alias=alias)...
except cls.DoesNotExist:
LOGGER.warning('Material with alias {0} not exists'.format(alias))
return None
else:
return material
Variable | Value |
---|---|
alias | 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka' |
cls | <class 'modules.content.models.Material'> |
/home/utv/ve/lib/python3.5/site-packages/django/db/models/manager.py
in manager_method
def check(self, **kwargs):
return []
@classmethod
def _get_queryset_methods(cls, queryset_class):
def create_method(name, method):
def manager_method(self, *args, **kwargs):
return getattr(self.get_queryset(), name)(*args, **kwargs)...
manager_method.__name__ = method.__name__
manager_method.__doc__ = method.__doc__
return manager_method
new_methods = {}
# Refs http://bugs.python.org/issue1785.
Variable | Value |
---|---|
args | () |
kwargs | {'alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'} |
name | 'get' |
self | <django.db.models.manager.ManagerFromMaterialQuerySet object at 0x7f99ecfacd68> |
/home/utv/ve/lib/python3.5/site-packages/cacheops/query.py
in get
if 'fetch' in self._cacheprofile['ops']:
qs = self
else:
qs = self._clone().cache()
else:
qs = self
return qs._no_monkey.get(qs, *args, **kwargs)...
def exists(self):
if self._cacheprofile and 'exists' in self._cacheprofile['ops']:
if self._result_cache is not None:
return bool(self._result_cache)
return cached_as(self)(lambda: self._no_monkey.exists(self))()
Variable | Value |
---|---|
args | () |
kwargs | {'alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'} |
qs | Error in formatting: OperationalError: ERROR: no more connections allowed (max_client_conn) |
self | Error in formatting: OperationalError: ERROR: no more connections allowed (max_client_conn) |
/home/utv/ve/lib/python3.5/site-packages/django/db/models/query.py
in get
"""
Performs the query and returns a single object matching the given
keyword arguments.
"""
clone = self.filter(*args, **kwargs)
if self.query.can_filter() and not self.query.distinct_fields:
clone = clone.order_by()
num = len(clone)...
if num == 1:
return clone._result_cache[0]
if not num:
raise self.model.DoesNotExist(
"%s matching query does not exist." %
self.model._meta.object_name
Variable | Value |
---|---|
args | () |
clone | Error in formatting: OperationalError: ERROR: no more connections allowed (max_client_conn) |
kwargs | {'alias': 'v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka'} |
self | Error in formatting: OperationalError: ERROR: no more connections allowed (max_client_conn) |
/home/utv/ve/lib/python3.5/site-packages/django/db/models/query.py
in __len__
def __repr__(self):
data = list(self[:REPR_OUTPUT_SIZE + 1])
if len(data) > REPR_OUTPUT_SIZE:
data[-1] = "...(remaining elements truncated)..."
return '<%s %r>' % (self.__class__.__name__, data)
def __len__(self):
self._fetch_all()...
return len(self._result_cache)
def __iter__(self):
"""
The queryset iterator protocol uses three nested iterators in the
default case:
Variable | Value |
---|---|
self | Error in formatting: OperationalError: ERROR: no more connections allowed (max_client_conn) |
/home/utv/ve/lib/python3.5/site-packages/cacheops/query.py
in _fetch_all
else:
with redis_client.getting(cache_key, lock=lock) as cache_data:
cache_read.send(sender=self.model, func=None, hit=cache_data is not None)
if cache_data is not None:
self._result_cache = pickle.loads(cache_data)
else:
# TODO: remove .nocache() when iterator() is dropped
self._result_cache = list(self.nocache().iterator())...
self._cache_results(cache_key, self._result_cache)
self._no_monkey._fetch_all(self)
def count(self):
if self._cacheprofile and 'count' in self._cacheprofile['ops']:
Variable | Value |
---|---|
cache_data | None |
cache_key | 'q:1221db4bf3e02ce5fb2f40f8408f1f39' |
lock | False |
self | Error in formatting: OperationalError: ERROR: no more connections allowed (max_client_conn) |
/home/utv/ve/lib/python3.5/site-packages/django/db/models/query.py
in __iter__
def __iter__(self):
queryset = self.queryset
db = queryset.db
compiler = queryset.query.get_compiler(using=db)
# Execute the query. This will also fill compiler.select, klass_info,
# and annotations.
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch)...
select, klass_info, annotation_col_map = (compiler.select, compiler.klass_info,
compiler.annotation_col_map)
model_cls = klass_info['model']
select_fields = klass_info['select_fields']
model_fields_start, model_fields_end = select_fields[0], select_fields[-1] + 1
init_list = [f[0].target.attname
Variable | Value |
---|---|
compiler | <django.db.models.sql.compiler.SQLCompiler object at 0x7f99f164f748> |
db | 'default' |
queryset | Error in formatting: OperationalError: ERROR: no more connections allowed (max_client_conn) |
self | <django.db.models.query.ModelIterable object at 0x7f99f164fa90> |
/home/utv/ve/lib/python3.5/site-packages/django/db/models/sql/compiler.py
in execute_sql
if result_type == MULTI:
return iter([])
else:
return
if chunked_fetch:
cursor = self.connection.chunked_cursor()
else:
cursor = self.connection.cursor()...
try:
cursor.execute(sql, params)
except Exception as original_exception:
try:
# Might fail for server-side cursors (e.g. connection closed)
cursor.close()
Variable | Value |
---|---|
chunked_fetch | False |
params | ('v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka',) |
result_type | 'multi' |
self | <django.db.models.sql.compiler.SQLCompiler object at 0x7f99f164f748> |
sql | ('SELECT "content_material"."id", "content_material"."count", ' '"content_material"."count_last_update", "content_material"."date_created", ' '"content_material"."actual_date", "content_material"."last_update", ' '"content_material"."meta_description", "content_material"."meta_keywords", ' '"content_material"."meta_og_image", "content_material"."name", ' '"content_material"."alias", "content_material"."is_uploaded", ' '"content_material"."is_active", "content_material"."is_author", ' '"content_material"."telegram", "content_material"."zen", ' '"content_material"."notify_telegram", "content_material"."notify_twitter", ' '"content_material"."author_id", "content_material"."status", ' '"content_material"."type", "content_material"."type_banner", ' '"content_material"."video", "content_material"."file", ' '"content_material"."description", "content_material"."content", ' '"content_material"."programs_id", "content_material"."tags_line", ' '"content_material"."screen", "content_material"."gallery" FROM ' '"content_material" WHERE "content_material"."alias" = %s') |
/home/utv/ve/lib/python3.5/site-packages/django/db/backends/base/base.py
in cursor
# ##### Generic wrappers for PEP-249 connection methods #####
def cursor(self):
"""
Creates a cursor, opening a connection if necessary.
"""
return self._cursor()...
def commit(self):
"""
Commits a transaction and resets the dirty flag.
"""
self.validate_thread_sharing()
Variable | Value |
---|---|
self | <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f99ed89a128> |
/home/utv/ve/lib/python3.5/site-packages/django/db/backends/base/base.py
in _cursor
if self.queries_logged:
wrapped_cursor = self.make_debug_cursor(cursor)
else:
wrapped_cursor = self.make_cursor(cursor)
return wrapped_cursor
def _cursor(self, name=None):
self.ensure_connection()...
with self.wrap_database_errors:
return self._prepare_cursor(self.create_cursor(name))
def _commit(self):
if self.connection is not None:
with self.wrap_database_errors:
Variable | Value |
---|---|
name | None |
self | <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f99ed89a128> |
/home/utv/ve/lib/python3.5/site-packages/django/db/backends/base/base.py
in ensure_connection
def ensure_connection(self):
"""
Guarantees that a connection to the database is established.
"""
if self.connection is None:
with self.wrap_database_errors:
self.connect()...
# ##### Backend-specific wrappers for PEP-249 connection methods #####
def _prepare_cursor(self, cursor):
"""
Validate the connection is usable and perform database cursor wrapping.
Variable | Value |
---|---|
self | <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f99ed89a128> |
/home/utv/ve/lib/python3.5/site-packages/django/db/utils.py
in __exit__
dj_exc_value.__cause__ = exc_value
if not hasattr(exc_value, '__traceback__'):
exc_value.__traceback__ = traceback
# Only set the 'errors_occurred' flag for errors that may make
# the connection unusable.
if dj_exc_type not in (DataError, IntegrityError):
self.wrapper.errors_occurred = True
six.reraise(dj_exc_type, dj_exc_value, traceback)...
def __call__(self, func):
# Note that we are intentionally not using @wraps here for performance
# reasons. Refs #21109.
def inner(*args, **kwargs):
with self:
Variable | Value |
---|---|
db_exc_type | <class 'psycopg2.OperationalError'> |
dj_exc_type | <class 'django.db.utils.OperationalError'> |
dj_exc_value | OperationalError('ERROR: no more connections allowed (max_client_conn)\n',) |
exc_type | <class 'psycopg2.OperationalError'> |
exc_value | OperationalError('ERROR: no more connections allowed (max_client_conn)\n',) |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7f99f16c1d68> |
traceback | <traceback object at 0x7f99e66ab208> |
/home/utv/ve/lib/python3.5/site-packages/django/utils/six.py
in reraise
if PY3:
exec_ = getattr(moves.builtins, "exec")
def reraise(tp, value, tb=None):
if value is None:
value = tp()
if value.__traceback__ is not tb:
raise value.with_traceback(tb)...
raise value
else:
def exec_(_code_, _globs_=None, _locs_=None):
"""Execute code in a namespace."""
if _globs_ is None:
Variable | Value |
---|---|
tb | <traceback object at 0x7f99e66ab208> |
tp | <class 'django.db.utils.OperationalError'> |
value | OperationalError('ERROR: no more connections allowed (max_client_conn)\n',) |
/home/utv/ve/lib/python3.5/site-packages/django/db/backends/base/base.py
in ensure_connection
def ensure_connection(self):
"""
Guarantees that a connection to the database is established.
"""
if self.connection is None:
with self.wrap_database_errors:
self.connect()...
# ##### Backend-specific wrappers for PEP-249 connection methods #####
def _prepare_cursor(self, cursor):
"""
Validate the connection is usable and perform database cursor wrapping.
Variable | Value |
---|---|
self | <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f99ed89a128> |
/home/utv/ve/lib/python3.5/site-packages/django/db/backends/base/base.py
in connect
# Reset parameters defining when to close the connection
max_age = self.settings_dict['CONN_MAX_AGE']
self.close_at = None if max_age is None else time.time() + max_age
self.closed_in_transaction = False
self.errors_occurred = False
# Establish the connection
conn_params = self.get_connection_params()
self.connection = self.get_new_connection(conn_params)...
self.set_autocommit(self.settings_dict['AUTOCOMMIT'])
self.init_connection_state()
connection_created.send(sender=self.__class__, connection=self)
self.run_on_commit = []
Variable | Value |
---|---|
conn_params | {'database': 'utv_ru', 'host': 'postgresql.lo.ufanet.ru', 'password': 'fauna6sleepy_', 'port': 6432, 'user': 'utv_ru'} |
max_age | None |
self | <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f99ed89a128> |
/home/utv/ve/lib/python3.5/site-packages/django/db/backends/postgresql/base.py
in get_new_connection
if settings_dict['HOST']:
conn_params['host'] = settings_dict['HOST']
if settings_dict['PORT']:
conn_params['port'] = settings_dict['PORT']
return conn_params
def get_new_connection(self, conn_params):
connection = Database.connect(**conn_params)...
# self.isolation_level must be set:
# - after connecting to the database in order to obtain the database's
# default when no value is explicitly specified in options.
# - before calling _set_autocommit() because if autocommit is on, that
# will set connection.isolation_level to ISOLATION_LEVEL_AUTOCOMMIT.
Variable | Value |
---|---|
conn_params | {'database': 'utv_ru', 'host': 'postgresql.lo.ufanet.ru', 'password': 'fauna6sleepy_', 'port': 6432, 'user': 'utv_ru'} |
self | <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f99ed89a128> |
/home/utv/ve/lib/python3.5/site-packages/psycopg2/__init__.py
in connect
if 'async_' in kwargs:
kwasync['async_'] = kwargs.pop('async_')
if dsn is None and not kwargs:
raise TypeError('missing dsn and no parameters')
dsn = _ext.make_dsn(dsn, **kwargs)
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)...
if cursor_factory is not None:
conn.cursor_factory = cursor_factory
return conn
Variable | Value |
---|---|
connection_factory | None |
cursor_factory | None |
dsn | ('user=utv_ru dbname=utv_ru port=6432 password=fauna6sleepy_ ' 'host=postgresql.lo.ufanet.ru') |
kwargs | {'database': 'utv_ru', 'host': 'postgresql.lo.ufanet.ru', 'password': 'fauna6sleepy_', 'port': 6432, 'user': 'utv_ru'} |
kwasync | {} |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTENT_LENGTH | '' |
CONTENT_TYPE | '' |
CSRF_COOKIE | '3lupGcNzWSCAfUksNbQsKGEHCsuAZkUrUOhDRxLybDt7688BdSFXLpkdjO3RKVp2' |
CSRF_COOKIE_USED | True |
DOCUMENT_ROOT | '/etc/nginx/html' |
HTTPS | 'on' |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'utv.ru' |
HTTP_USER_AGENT | 'claudebot' |
PATH_INFO | '/material/v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka/' |
QUERY_STRING | '' |
REMOTE_ADDR | '3.85.211.2' |
REMOTE_PORT | '37262' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'https' |
REQUEST_URI | '/material/v-ufe-proizoshel-pozhar-v-dvuhetazhnom-dome-postradali-tri-cheloveka/' |
SCRIPT_NAME | '' |
SERVER_NAME | 'utv.ru' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.1' |
uwsgi.node | b'utv' |
uwsgi.version | b'2.0.15' |
wsgi.errors | <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> |
wsgi.file_wrapper | '' |
wsgi.input | <uwsgi._Input object at 0x7f99ecea8db0> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
configs.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ACCESS_TOKEN | '********************' |
ADMINS | (('', 'chetvertnev@ufanet.ru'),) |
ADMIN_TOOLS_INDEX_DASHBOARD | 'modules.core.dashboard.CustomDashboard' |
ADMIN_TOOLS_MENU | 'modules.core.dashboard.CustomMenu' |
ALLOWED_HOSTS | ['new.utv.ru', 'utv.ru', 'www.utv.ru'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ('django.contrib.auth.backends.ModelBackend',) |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'core.User' |
BASE_DIR | '/home/utv/utv' |
BASE_DOMAIN | 'utv.ru' |
BASE_HOST | 'https://utv.ru' |
BROKER_URL | 'redis://127.0.0.1:6379/0' |
CACHEOPS | {'*.*': {'timeout': 900}, 'advertising.metatag': {'ops': ('get', 'fetch'), 'timeout': 3600}, 'advertising.sociallink': {'ops': ('get', 'fetch'), 'timeout': 3600}, 'advertising.socialnet': {'ops': ('get', 'fetch'), 'timeout': 3600}, 'content.material': {'ops': ('get', 'fetch'), 'timeout': 900}, 'content.program': {'ops': ('get', 'fetch'), 'timeout': 900}, 'content.section': {'ops': ('get', 'fetch'), 'timeout': 900}, 'content.specialsection': {'ops': ('get', 'fetch'), 'timeout': 900}, 'content.tag': {'ops': 'fetch', 'timeout': 900}, 'core.aboutcity': {'ops': ('get', 'fetch')}, 'core.city': {'ops': ('get', 'fetch'), 'timeout': 900}} |
CACHEOPS_DEFAULTS | {'timeout': 1800} |
CACHEOPS_DEGRADE_ON_FAILURE | False |
CACHEOPS_REDIS | {'db': 0, 'host': '127.0.0.1', 'port': 6379, 'socket_timeout': 10} |
CACHEOPS_REDIS_DB | 0 |
CACHES | {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'KEY_PREFIX': '********************', 'LOCATION': ['redis://127.0.0.1:6379/0'], 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'COMPRESSOR': 'django_redis.compressors.zlib.ZlibCompressor', 'CONNECTION_POOL_CLASS': 'redis.BlockingConnectionPool', 'CONNECTION_POOL_CLASS_KWARGS': {'max_connections': 100, 'timeout': 20}, 'SERIALIZER': 'django_redis.serializers.json.JSONSerializer'}}, 'file_resubmit': {'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', 'LOCATION': '/home/utv/utv/cache'}, 'fs': {'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', 'LOCATION': '/home/utv/utv/cache'}, 'materials': {'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', 'LOCATION': '/home/utv/utv/cache'}, 'session': {'BACKEND': 'django_redis.cache.RedisCache', 'KEY_PREFIX': '********************', 'LOCATION': ['redis://127.0.0.1:6379/2'], 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient', 'COMPRESSOR': 'django_redis.compressors.zlib.ZlibCompressor', 'CONNECTION_POOL_CLASS': 'redis.BlockingConnectionPool', 'CONNECTION_POOL_CLASS_KWARGS': {'max_connections': 100, 'timeout': 20}, 'SERIALIZER': 'django_redis.serializers.json.JSONSerializer'}}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CELERYBEAT_SCHEDULER | 'djcelery.schedulers.DatabaseScheduler' |
CELERY_ACCEPT_CONTENT | ['pickle', 'json', 'msgpack', 'yaml'] |
CELERY_DEFAULT_EXCHANGE | 'default' |
CELERY_DEFAULT_QUEUE | 'default' |
CELERY_DEFAULT_ROUTING_KEY | '********************' |
CELERY_QUEUES | (<unbound Queue high -> <unbound Exchange high(direct)> -> high>, <unbound Queue default -> <unbound Exchange default(direct)> -> default>, <unbound Queue low -> <unbound Exchange low(direct)> -> low>) |
CELERY_RESULT_BACKEND | 'djcelery.backends.database:DatabaseBackend' |
CELERY_ROUTES | {'content.check_image_materials': {'queue': 'default'}, 'content.clear_cache': {'queue': 'high'}, 'content.clear_completed_posters': {'queue': 'default'}, 'content.delayed_material': {'queue': 'high'}, 'content.delete_material': {'queue': 'low'}, 'content.mqtt_publish_message': {'queue': 'default'}, 'content.save_m2m_tags': {'queue': 'high'}, 'content.sent_message': {'queue': 'default'}, 'content.stories_transcode_status': {'queue': 'default'}, 'content.sync_static': {'queue': 'high'}, 'content.transcoder_info': {'queue': 'default'}, 'content.upload_material': {'queue': 'high'}, 'content:download_image_material': {'queue': 'default'}, 'tks.update_events': {'queue': 'default'}, 'tks.update_services': {'queue': 'default'}} |
CELERY_TASK_RESULT_EXPIRES | 302400 |
CHANNEL_ID | -1001218601571 |
CKEDITOR_CONFIGS | {'default': {'allowedContent': True, 'clipboard_defaultContentType': 'text', 'disableNativeSpellChecker': False, 'extraPlugins': 'utv,image2,inserthtml4x', 'forcePasteAsPlainText': True, 'fullPage': True, 'ignoreEmptyParagraph': True, 'keystrokes': '********************', 'linkShowAdvancedTab': False, 'linkShowTargetTab': True, 'removeButtons': 'Save', 'removeFormatAttributes': True, 'removeFormatTags': 'b,big,cite,code,del,dfn,em,font,i,ins,kbd,q,s,samp,small,span,strike,strong,sub,sup,tt,u,var', 'toolbar': 'full'}} |
CKEDITOR_IMAGE_BACKEND | 'pillow' |
CKEDITOR_UPLOAD_PATH | 'uploads/' |
CKEDITOR_UPLOAD_SLUGIFY_FILENAME | True |
CLIENT_ID | 'cdd0c42da2e3c878f51f61d542589d118f8c0e46' |
CLIENT_SECRET | '********************' |
COMTEZA_DATABASE | {'ENGINE': 'django.db.backends.mysql', 'HOST': '92.50.186.2', 'NAME': 'heedi', 'PASSWORD': '********************', 'PORT': '3306', 'USER': 'ufanet_ro'} |
CSRF_COOKIE_AGE | 1209600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SECURE | True |
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': None, 'DISABLE_SERVER_SIDE_CURSORS': True, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'postgresql.lo.ufanet.ru', 'NAME': 'utv_ru', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': 6432, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'utv_ru'}} |
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', '%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'] |
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_CHARSET | 'utf-8' |
DEFAULT_CITY | 'ufa' |
DEFAULT_CONTENT_TYPE | 'text/html' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'Ufanet UTV <noreply@ufanet.ru>' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
DJANGO_REDIS_IGNORE_EXCEPTIONS | True |
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 |
EPG_TTL | 172800 |
FEEDBACK_EMAIL | ['utv@ufanet.ru'] |
FILE_CHARSET | 'utf-8' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | '/home/utv/tmp_upload' |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
HOST_SCHEME | 'https://' |
IGNORABLE_404_URLS | [] |
INFO_CORE_HOST | 'http://infoapi.ufanet.ru' |
INSTALLED_APPS | ['dal', 'dal_select2', 'snowpenguin.django.recaptcha2', 'admin_tools', 'admin_tools.theming', 'admin_tools.menu', 'admin_tools.dashboard', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.postgres', 'bootstrap3', 'cacheops', 'charsleft_widget', 'ckeditor', 'ckeditor_uploader', 'cuser', 'djcelery', 'easy_thumbnails', 'file_resubmit', 'pytils', 'raven.contrib.django.raven_compat', 'rest_framework', 'modules.advertising', 'modules.content', 'modules.core', 'modules.poster', 'modules.storage', 'modules.report', 'modules.tks', 'modules.telebot'] |
INTERNAL_IPS | [] |
JWT_AUTH | {'JWT_EXPIRATION_DELTA': datetime.timedelta(1), 'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(7)} |
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'), ('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'), ('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 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'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'fa', 'ur'] |
LANGUAGE_CODE | 'ru-Ru' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LOCALE_PATHS | [] |
LOGGING | {'disable_existing_loggers': True, 'formatters': {'standard': {'datefmt': '%d/%b/%Y %H:%M:%S', 'format': '[%(asctime)s] %(levelname)s ' '[%(name)s:%(lineno)s] %(message)s'}}, 'handlers': {'celery': {'backupCount': 10, 'class': 'logging.handlers.RotatingFileHandler', 'filename': '/home/utv/utv/logs/celery.log', 'formatter': 'standard', 'level': 'DEBUG', 'maxBytes': 10485760}, 'console': {'class': 'logging.StreamHandler', 'formatter': 'standard', 'level': 'DEBUG'}, 'logfile': {'backupCount': 10, 'class': 'logging.handlers.TimedRotatingFileHandler', 'filename': '/home/utv/logs/application.log', 'formatter': 'standard', 'level': 'DEBUG', 'when': 'D'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'level': 'ERROR'}, 'sentry': {'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler', 'level': 'ERROR'}, 'syslog': {'address': '/dev/log', 'class': 'logging.handlers.SysLogHandler', 'facility': 18, 'level': 'INFO'}}, 'loggers': {'celery': {'handlers': ['celery', 'sentry'], 'level': 'INFO', 'propogate': True}, 'django': {'handlers': ['logfile', 'sentry'], 'level': 'ERROR', 'propogate': True}, 'modules': {'handlers': ['logfile', 'sentry'], 'level': 'INFO', 'propagate': True}}, 'version': 1} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | (('', 'chetvertnev@ufanet.ru'),) |
MEDIASTORAGE_DOZOR_OWNER | 6 |
MEDIASTORAGE_DOZOR_RECEIVER | 10 |
MEDIASTORAGE_HOST | 'https://mediastorage.ufanet.ru/' |
MEDIASTORAGE_PASSWORD | '********************' |
MEDIASTORAGE_USER | 'dozor' |
MEDIA_ROOT | '/home/utv/media' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware', 'raven.contrib.django.middleware.SentryMiddleware', 'django.middleware.gzip.GZipMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'modules.core.middlewares.CuserMiddleware', 'django.contrib.messages.middleware.MessageMiddleware'] |
MIDDLEWARE_CLASSES | ['django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
MQTT_CLIENT_ID | 'utv_stories' |
MQTT_HOST | 'mqtt.ufanet.ru' |
MQTT_PASSWORD | '********************' |
MQTT_PORT | 1883 |
MQTT_QOS | 0 |
MQTT_USER | 'owntv_core' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
PROXY_HOST | '82.196.14.104' |
PROXY_PASS | '********************' |
PROXY_PORT | 1488 |
PROXY_USER | 'vairel' |
PUSH_API_KEY | '********************' |
RAVEN_CONFIG | {'dsn': 'http://925cfe9fd2b946d0b6e9b807002f9d2d:11192073aaab4e3fb9b70682c8809018@sentry.lo.ufanet.ru/55', 'release': '1.15.1'} |
RECAPTCHA_DEFAULT_ACTION | 'generic' |
RECAPTCHA_PRIVATE_KEY | '********************' |
RECAPTCHA_PUBLIC_KEY | '********************' |
RECAPTCHA_SCORE_THRESHOLD | 0.5 |
REDIS_DB | 0 |
REDIS_HOST | '127.0.0.1' |
REDIS_PORT | 6379 |
RESTRICT_FILE_EXTENSIONS | ('bat', 'php', 'sh', 'bash', 'js', 'sql', 'py', 'pl', 'vbs', 'sfx', 'key', 'crt', 'pem', 'csr') |
REST_FRAMEWORK | {'DATETIME_FORMAT': '%Y-%m-%d %H:%M:%S', 'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework_jwt.authentication.JSONWebTokenAuthentication', 'rest_framework.authentication.SessionAuthentication'), 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticatedOrReadOnly',), 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer'), 'UNICODE_JSON': True} |
ROOT_URLCONF | 'configs.urls' |
RSS_DESCRIPTION | 'Городской телеканал UTV - это все новости Уфы и программы о нашем городе' |
RSS_ID | '45515439' |
RSS_SITE_URL | 'https://utv.ru/' |
RSS_TITLE | 'Городской интернет-портал UTV.RU' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | False |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'session' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SECURE | True |
SESSION_ENGINE | 'django.contrib.sessions.backends.cache' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_REDIS_DB | 2 |
SESSION_REDIS_HOST | '127.0.0.1' |
SESSION_REDIS_PORT | 6379 |
SESSION_REDIS_PREFIX | 'utv_ru_session' |
SESSION_SAVE_EVERY_REQUEST | True |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'configs.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SLEEP_TIME | 60 |
STATICFILES_DIRS | [] |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/utv/static' |
STATIC_URL | '/static/' |
STORIES_CODEC_TYPE | 'h264' |
STORIES_CONTAINER_NAME | 'mp4' |
STORIES_EXP_DAYS | 14 |
STORIES_IMAGE_DURATION | 15 |
STORIES_TS_TIMEWAIT | 5 |
TELEGRAM_TOKEN | '********************' |
TEMPLATES | [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages'], 'loaders': ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', 'admin_tools.template_loaders.Loader']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
THUMBNAIL_ALIASES | {'': {'ava': {'crop': True, 'size': (240, 240)}, 'ava_author': {'crop': True, 'size': (340, 340)}, 'l_program': {'crop': True, 'size': (1024, 386)}, 'l_size': {'sharpen': True, 'size': (555, 312)}, 'logo': {'crop': True, 'size': (30, 30)}, 'm_size': {'sharpen': True, 'size': (262, 147)}, 'main_map': {'crop': True, 'quality': 90, 'size': (673, 413)}, 'main_material': {'quality': 70, 'sharpen': True, 'size': (1024, 576)}, 'main_poster': {'crop': True, 'quality': 90, 'size': (600, 338)}, 'main_special_theme': {'quality': 90, 'sharpen': True, 'size': (1050, 350)}, 'one_material': {'crop': True, 'quality': 80, 'size': (194, 109)}, 'one_news': {'crop': True, 'size': (300, 160)}, 'one_program': {'quality': 80, 'sharpen': True, 'size': (1140, 280)}, 'slider_full_image': {'quality': 65, 'sharpen': True, 'size': (1024, 768)}, 'slider_image': {'sharpen': True, 'size': (320, 172)}, 'team_member': {'crop': True, 'size': (234, 232), 'target': (50, 10)}, 'top_materials': {'crop': True, 'size': (130, 70)}}} |
THUMBNAIL_QUALITY | 100 |
THUMB_SIZE | (800, 600) |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'Asia/Yekaterinburg' |
TKS_API | '********************' |
TWITTER_ACCESS_TOKEN_KEY | '********************' |
TWITTER_ACCESS_TOKEN_SECRET | '********************' |
TWITTER_CONSUMER_KEY | '********************' |
TWITTER_CONSUMER_SECRET | '********************' |
UPLOADER_CONFIG | {'host': 'https://mediastorage.ufanet.ru/', 'password': '********************', 'username': 'dozor'} |
USE_ETAGS | 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 | 'configs.wsgi.application' |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
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.