Cannot use None as a query value
Request Method: | GET |
---|---|
Request URL: | https://idesignbureau.com/ru/search/?tag=3d+%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA&p=4 |
Django Version: | 3.2 |
Exception Type: | ValueError |
Exception Value: | Cannot use None as a query value |
Exception Location: | /home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/db/models/sql/query.py, line 1201, in build_lookup |
Python Executable: | /home/kodergroup/idesignbureau/venv/bin/python |
Python Version: | 3.8.10 |
Python Path: | ['/home/kodergroup/idesignbureau', '/home/kodergroup/idesignbureau/venv/bin', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages'] |
Server time: | Fri, 29 Mar 2024 19:59:30 +0400 |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | ValueError('Cannot use None as a query value') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f0ea6030cd0>> |
request | <WSGIRequest: GET '/ru/search/?tag=3d+%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA&p=4'> |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/core/handlers/base.py
, line 181, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function search at 0x7f0ea575f3a0> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f0ea59a1fd0>> |
request | <WSGIRequest: GET '/ru/search/?tag=3d+%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA&p=4'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f0ea6030cd0> |
wrapped_callback | <function search at 0x7f0ea575f3a0> |
/home/kodergroup/idesignbureau/home/views.py
, line 265, in search
'rooms': rooms,
}
return render(request, "cats/exclusive.html", context)
def search(request):
query = request.GET.get("q")
products = Product.objects.filter( Q(name__icontains=query) )…
featured = SubCategory.objects.filter()
general = General.objects.all()[0]
clients = Client.objects.all()
socials = Social.objects.all()
if request.method == 'POST':
Variable | Value |
---|---|
query | None |
request | <WSGIRequest: GET '/ru/search/?tag=3d+%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA&p=4'> |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/db/models/manager.py
, line 85, 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 = {}
for name, method in inspect.getmembers(queryset_class, predicate=inspect.isfunction):
Variable | Value |
---|---|
args | (<Q: (AND: ('name__icontains', None))>,) |
kwargs | {} |
name | 'filter' |
self | <django.db.models.manager.Manager object at 0x7f0ea56a22e0> |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/db/models/query.py
, line 941, in filter
def filter(self, *args, **kwargs):
"""
Return a new QuerySet instance with the args ANDed to the existing
set.
"""
self._not_support_combined_queries('filter')
return self._filter_or_exclude(False, args, kwargs)…
def exclude(self, *args, **kwargs):
"""
Return a new QuerySet instance with NOT (args) ANDed to the existing
set.
"""
Variable | Value |
---|---|
args | (<Q: (AND: ('name__icontains', None))>,) |
kwargs | {} |
self | <QuerySet [<Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, '...(remaining elements truncated)...']> |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/db/models/query.py
, line 961, in _filter_or_exclude
"Cannot filter a query once a slice has been taken."
clone = self._chain()
if self._defer_next_filter:
self._defer_next_filter = False
clone._deferred_filter = negate, args, kwargs
else:
clone._filter_or_exclude_inplace(negate, args, kwargs)…
return clone
def _filter_or_exclude_inplace(self, negate, args, kwargs):
if negate:
self._query.add_q(~Q(*args, **kwargs))
else:
Variable | Value |
---|---|
args | (<Q: (AND: ('name__icontains', None))>,) |
clone | <QuerySet [<Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, '...(remaining elements truncated)...']> |
kwargs | {} |
negate | False |
self | <QuerySet [<Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, '...(remaining elements truncated)...']> |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/db/models/query.py
, line 968, in _filter_or_exclude_inplace
clone._filter_or_exclude_inplace(negate, args, kwargs)
return clone
def _filter_or_exclude_inplace(self, negate, args, kwargs):
if negate:
self._query.add_q(~Q(*args, **kwargs))
else:
self._query.add_q(Q(*args, **kwargs))…
def complex_filter(self, filter_obj):
"""
Return a new QuerySet instance with filter_obj added to the filters.
filter_obj can be a Q object or a dictionary of keyword lookup
Variable | Value |
---|---|
args | (<Q: (AND: ('name__icontains', None))>,) |
kwargs | {} |
negate | False |
self | <QuerySet [<Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, <Product: HfjNUlYZ 1>, '...(remaining elements truncated)...']> |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1396, in add_q
# For join promotion this case is doing an AND for the added q_object
# and existing conditions. So, any existing inner join forces the join
# type to remain inner. Existing outer joins can however be demoted.
# (Consider case where rel_a is LOUTER and rel_a__col=1 is added - if
# rel_a doesn't produce any rows, then the whole condition must fail.
# So, demotion is OK.
existing_inner = {a for a in self.alias_map if self.alias_map[a].join_type == INNER}
clause, _ = self._add_q(q_object, self.used_aliases)…
if clause:
self.where.add(clause, AND)
self.demote_joins(existing_inner)
def build_where(self, filter_expr):
return self.build_filter(filter_expr, allow_joins=False)[0]
Variable | Value |
---|---|
existing_inner | set() |
q_object | <Q: (AND: (AND: ('name__icontains', None)))> |
self | <django.db.models.sql.query.Query object at 0x7f0ea5958370> |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1415, in _add_q
connector = q_object.connector
current_negated = current_negated ^ q_object.negated
branch_negated = branch_negated or q_object.negated
target_clause = self.where_class(connector=connector,
negated=q_object.negated)
joinpromoter = JoinPromoter(q_object.connector, len(q_object.children), current_negated)
for child in q_object.children:
child_clause, needed_inner = self.build_filter(…
child, can_reuse=used_aliases, branch_negated=branch_negated,
current_negated=current_negated, allow_joins=allow_joins,
split_subq=split_subq, check_filterable=check_filterable,
)
joinpromoter.add_votes(needed_inner)
if child_clause:
Variable | Value |
---|---|
allow_joins | True |
branch_negated | False |
check_filterable | True |
child | <Q: (AND: ('name__icontains', None))> |
connector | 'AND' |
current_negated | False |
joinpromoter | <django.db.models.sql.query.JoinPromoter object at 0x7f0ea50af3a0> |
q_object | <Q: (AND: (AND: ('name__icontains', None)))> |
self | <django.db.models.sql.query.Query object at 0x7f0ea5958370> |
split_subq | True |
target_clause | <WhereNode: (AND: )> |
used_aliases | {'product_product'} |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1268, in build_filter
The method will create a filter clause that can be added to the current
query. However, if the filter isn't added to the query then the caller
is responsible for unreffing the joins used.
"""
if isinstance(filter_expr, dict):
raise FieldError("Cannot parse keyword query as dict")
if isinstance(filter_expr, Q):
return self._add_q(…
filter_expr,
branch_negated=branch_negated,
current_negated=current_negated,
used_aliases=can_reuse,
allow_joins=allow_joins,
split_subq=split_subq,
Variable | Value |
---|---|
allow_joins | True |
branch_negated | False |
can_reuse | {'product_product'} |
check_filterable | True |
current_negated | False |
filter_expr | <Q: (AND: ('name__icontains', None))> |
reuse_with_filtered_relation | False |
self | <django.db.models.sql.query.Query object at 0x7f0ea5958370> |
split_subq | True |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1415, in _add_q
connector = q_object.connector
current_negated = current_negated ^ q_object.negated
branch_negated = branch_negated or q_object.negated
target_clause = self.where_class(connector=connector,
negated=q_object.negated)
joinpromoter = JoinPromoter(q_object.connector, len(q_object.children), current_negated)
for child in q_object.children:
child_clause, needed_inner = self.build_filter(…
child, can_reuse=used_aliases, branch_negated=branch_negated,
current_negated=current_negated, allow_joins=allow_joins,
split_subq=split_subq, check_filterable=check_filterable,
)
joinpromoter.add_votes(needed_inner)
if child_clause:
Variable | Value |
---|---|
allow_joins | True |
branch_negated | False |
check_filterable | True |
child | ('name__icontains', None) |
connector | 'AND' |
current_negated | False |
joinpromoter | <django.db.models.sql.query.JoinPromoter object at 0x7f0ea50aff40> |
q_object | <Q: (AND: ('name__icontains', None))> |
self | <django.db.models.sql.query.Query object at 0x7f0ea5958370> |
split_subq | True |
target_clause | <WhereNode: (AND: )> |
used_aliases | {'product_product'} |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1350, in build_filter
if len(targets) == 1:
col = self._get_col(targets[0], join_info.final_field, alias)
else:
col = MultiColSource(alias, targets, join_info.targets, join_info.final_field)
else:
col = self._get_col(targets[0], join_info.final_field, alias)
condition = self.build_lookup(lookups, col, value)…
lookup_type = condition.lookup_name
clause.add(condition, AND)
require_outer = lookup_type == 'isnull' and condition.rhs is True and not current_negated
if current_negated and (lookup_type != 'isnull' or condition.rhs is False) and condition.rhs is not None:
require_outer = True
Variable | Value |
---|---|
alias | 'product_product' |
allow_joins | True |
allow_many | True |
arg | 'name__icontains' |
branch_negated | False |
can_reuse | {'product_product'} |
check_filterable | True |
clause | <WhereNode: (AND: )> |
col | Col(product_product, product.Product.name) |
current_negated | False |
filter_expr | ('name__icontains', None) |
join_info | JoinInfo(final_field=<django.db.models.fields.CharField: name>, targets=(<django.db.models.fields.CharField: name>,), opts=<Options for Product>, joins=['product_product'], path=[], transform_function=<function Query.setup_joins.<locals>.final_transformer at 0x7f0ea4fe0f70>) |
join_list | ['product_product'] |
lookups | ['icontains'] |
opts | <Options for Product> |
parts | ['name'] |
pre_joins | {} |
reffed_expression | False |
reuse_with_filtered_relation | False |
self | <django.db.models.sql.query.Query object at 0x7f0ea5958370> |
split_subq | True |
targets | (<django.db.models.fields.CharField: name>,) |
used_joins | {'product_product'} |
value | None |
/home/kodergroup/idesignbureau/venv/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1201, in build_lookup
return
lookup = lookup_class(lhs, rhs)
# Interpret '__exact=None' as the sql 'is NULL'; otherwise, reject all
# uses of None as a query value unless the lookup supports it.
if lookup.rhs is None and not lookup.can_use_none_as_rhs:
if lookup_name not in ('exact', 'iexact'):
raise ValueError("Cannot use None as a query value")…
return lhs.get_lookup('isnull')(lhs, True)
# For Oracle '' is equivalent to null. The check must be done at this
# stage because join promotion can't be done in the compiler. Using
# DEFAULT_DB_ALIAS isn't nice but it's the best that can be done here.
# A similar thing is done in is_nullable(), too.
Variable | Value |
---|---|
lhs | Col(product_product, product.Product.name) |
lookup | <django.db.models.lookups.IContains object at 0x7f0ea50afdf0> |
lookup_class | <class 'django.db.models.lookups.IContains'> |
lookup_name | 'icontains' |
lookups | ['icontains'] |
rhs | None |
self | <django.db.models.sql.query.Query object at 0x7f0ea5958370> |
transforms | [] |
AnonymousUser
Variable | Value |
---|---|
tag | '3d цветок' |
p | '4' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'idesignbureau.com' |
HTTP_REFERER | 'https://idesignbureau.com/ru/search?tag=3d+%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA&p=4' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '18.206.14.46' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '18.206.14.46' |
PATH_INFO | '/ru/search/' |
QUERY_STRING | 'tag=3d+%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA&p=4' |
RAW_URI | '/ru/search/?tag=3d+%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA&p=4' |
REMOTE_ADDR | '' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | 'idesignbureau.com' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/20.1.0' |
gunicorn.socket | <socket.socket fd=12, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/run/gunicorn.sock> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f0ea5730fd0> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7f0ea5730c10> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
config.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | PosixPath('/home/kodergroup/idesignbureau') |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'localhost', 'NAME': 'idesignbureau', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'kodergroup'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 5242880 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.BigAutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtp.gmail.com' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'idesignbureaubaku@gmail.com' |
EMAIL_PORT | 587 |
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 | True |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sitemaps', 'django.contrib.sites', 'home', 'product', 'translations', 'modeltranslation', 'evdekor', 'fotooboy', 'skinali', 'shop', 'carpet', 'furniture', 'blog', 'catalog', 'dashboard', 'django_summernote'] |
INTERNAL_IPS | [] |
LANGUAGES | (('en', 'English'), ('az', 'Azerbaijan'), ('ru', 'Russian')) |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'az' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | ['/home/kodergroup/idesignbureau/locale'] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/home/kodergroup/idesignbureau/media/' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'config.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'config.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_ID | 1 |
STATICFILES_DIRS | ['/home/kodergroup/idesignbureau/static/'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | None |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/kodergroup/idesignbureau/templates'], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'Asia/Baku' |
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 | 'config.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
You’re seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.