invalid regular expression: parentheses () not balanced
Request Method: | GET |
---|---|
Request URL: | http://career-xchange.com/jobs/?job_title=sales |
Django Version: | 3.1 |
Exception Type: | DataError |
Exception Value: | invalid regular expression: parentheses () not balanced |
Exception Location: | /srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/backends/utils.py, line 84, in _execute |
Python Executable: | /srv/django/career_xchange/venv/bin/python |
Python Version: | 3.6.15 |
Python Path: | ['/srv/django/career_xchange/src/job_portal', '/srv/django/career_xchange/venv/bin', '/root/.pyenv/versions/3.6.15/lib/python36.zip', '/root/.pyenv/versions/3.6.15/lib/python3.6', '/root/.pyenv/versions/3.6.15/lib/python3.6/lib-dynload', '/srv/django/career_xchange/venv/lib/python3.6/site-packages', '/srv/django/career_xchange/venv/lib/python3.6/site-packages/odf', '/srv/django/career_xchange/venv/lib/python3.6/site-packages/odf', '/srv/django/career_xchange/venv/lib/python3.6/site-packages/odf', '/srv/django/career_xchange/venv/lib/python3.6/site-packages/odf', '/srv/django/career_xchange/venv/lib/python3.6/site-packages/odf', '/srv/django/career_xchange/venv/lib/python3.6/site-packages/odf', '/srv/django/career_xchange/venv/lib/python3.6/site-packages/odf'] |
Server time: | Thu, 28 Mar 2024 16:39:37 +0530 |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/models/query.py
, line 573, in get_or_create
Return a tuple of (object, created), where created is a boolean
specifying whether an object was created.
"""
# The get() needs to be targeted at the write database in order
# to avoid potential transaction consistency problems.
self._for_write = True
try:
return self.get(**kwargs), False…
except self.model.DoesNotExist:
params = self._extract_model_params(defaults, **kwargs)
return self._create_object_from_params(kwargs, params)
def update_or_create(self, defaults=None, **kwargs):
"""
Variable | Value |
---|---|
defaults | {'auto_id': 125} |
kwargs | {'keyword': 'sales(footware/'} |
params | {'auto_id': 125, 'keyword': 'sales(footware/'} |
self | <QuerySet [<PopularSearch: editor>, <PopularSearch: billing/planning>, <PopularSearch: billing>, <PopularSearch: production>, <PopularSearch: product>, <PopularSearch: adminstrators>, <PopularSearch: hr>, <PopularSearch: 3>, <PopularSearch: 3d>, <PopularSearch: 2d>, <PopularSearch: cctv>, <PopularSearch: clerk>, <PopularSearch: engineerig>, <PopularSearch: engineers>, <PopularSearch: sales/>, <PopularSearch: librarian>, <PopularSearch: adminstrator>, <PopularSearch: adminstration>, <PopularSearch: adminstrator/>, <PopularSearch: mechanics>, '...(remaining elements truncated)...']> |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/models/query.py
, line 431, in get
clone.query.set_limits(high=limit)
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…
)
raise self.model.MultipleObjectsReturned(
'get() returned more than one %s -- it returned %s!' % (
self.model._meta.object_name,
num if not limit or num < limit else 'more than %s' % (limit - 1),
)
Variable | Value |
---|---|
args | () |
clone | <QuerySet []> |
kwargs | {'keyword': 'sales(footware/'} |
limit | 21 |
num | 0 |
self | <QuerySet [<PopularSearch: editor>, <PopularSearch: billing/planning>, <PopularSearch: billing>, <PopularSearch: production>, <PopularSearch: product>, <PopularSearch: adminstrators>, <PopularSearch: hr>, <PopularSearch: 3>, <PopularSearch: 3d>, <PopularSearch: 2d>, <PopularSearch: cctv>, <PopularSearch: clerk>, <PopularSearch: engineerig>, <PopularSearch: engineers>, <PopularSearch: sales/>, <PopularSearch: librarian>, <PopularSearch: adminstrator>, <PopularSearch: adminstration>, <PopularSearch: adminstrator/>, <PopularSearch: mechanics>, '...(remaining elements truncated)...']> |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/backends/utils.py
, line 84, in _execute
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params)…
def _executemany(self, sql, param_list, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f2fe844d650>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990>}) |
params | ('[[:<:]]sales(footware/',) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990> |
sql | ('SELECT (1) AS "a" FROM "jobs_job" INNER JOIN "users_employer" ON ' '("jobs_job"."employer_id" = "users_employer"."id") WHERE ' '("jobs_job"."is_verified" AND "jobs_job"."name"::text ~* %s AND NOT ' '("users_employer"."is_deleted")) LIMIT 1') |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception)(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 | DataError('invalid regular expression: parentheses () not balanced\n',) |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f2fe4c57a50>> |
request | <WSGIRequest: GET '/jobs/?job_title=sales'> |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/core/handlers/base.py
, line 179, 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 subscription_required_franchisee.<locals>.wrap at 0x7f2fe294a7a0> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CheckModeMiddleware.process_view of <general.middlewares.CheckModeMiddleware object at 0x7f2fe4c7bf50>> |
request | <WSGIRequest: GET '/jobs/?job_title=sales'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f2fe4c57a50> |
wrapped_callback | <function subscription_required_franchisee.<locals>.wrap at 0x7f2fe294a7a0> |
/srv/django/career_xchange/src/job_portal/web/decorators.py
, line 81, in wrap
response_data['redirect_url'] = f'{reverse("web:subscriptions")}?next_page={next_page}'
response_data['message'] = "You don't have an active Subscription"
return HttpResponse(json.dumps(response_data), content_type='application/javascript')
else:
next_page = request.path
return HttpResponseRedirect(f'{reverse("web:subscriptions")}?next_page={next_page}')
return function(request, *args, **kwargs)…
wrap.__doc__ = function.__doc__
wrap.__name__ = function.__name__
return wrap
Variable | Value |
---|---|
args | () |
current_role | 'anonymous' |
function | <function jobs at 0x7f2fe294acb0> |
kwargs | {} |
request | <WSGIRequest: GET '/jobs/?job_title=sales'> |
/srv/django/career_xchange/src/job_portal/web/views.py
, line 347, in jobs
print("JOB TITLW ==>", request.GET)
if job_title:
search = job_title
else:
search = 'Jobs'
filtered_jobs = job_sort_filter(jobs, request)…
jobs = filtered_jobs['jobs']
initial = filtered_jobs['initial']
filter_form = FilterForm(initial=initial)
job_form = JobForm()
del job_form.fields['is_verified']
Variable | Value |
---|---|
alert_form | <JobAlertForm bound=False, valid=Unknown, fields=(job_title;email;email_frequency)> |
current_role | 'anonymous' |
job_title | 'sales' |
jobs | <QuerySet [<Job: Customer Care Executive>, <Job: Sales Executive>, <Job: Tele Caller>, <Job: Marketing Executive>, <Job: PSYCHOLOGY COORDINATOR>, <Job: BILLING STAFF>, <Job: GRAPHIC DESIGNER>, <Job: DIGITAL MARKETING>, <Job: RECEPTIONIST>, <Job: FRONT OFFICE STAFF>, <Job: FACTORY HELPER>, <Job: CHIP LEVEL TECHNICIAN>, <Job: ACCOUNTS TRANIEE>, <Job: TELECALLER>, <Job: SALES>, <Job: FRONT OFFICE STAFF>, <Job: ACCOUNTANT>, <Job: UI/UX AND DIGITAL MARKETING FACULTY>, <Job: CYBER SECURITY FACULTY>, <Job: LAB TECHNICIAN(BLOOD COLLECTION)>, '...(remaining elements truncated)...']> |
page_template | 'web/website/job_list.html' |
preferred_jobs | None |
recent_jobs | <QuerySet [<Job: Customer Care Executive>, <Job: Sales Executive>, <Job: Tele Caller>, <Job: Marketing Executive>, <Job: PSYCHOLOGY COORDINATOR>, <Job: BILLING STAFF>, <Job: GRAPHIC DESIGNER>]> |
request | <WSGIRequest: GET '/jobs/?job_title=sales'> |
search | 'sales' |
template | 'web/website/jobs.html' |
/srv/django/career_xchange/src/job_portal/web/functions.py
, line 58, in job_sort_filter
words = [t.lower() for t in words.split() if t.lower().startswith(job_title)]
for word in words:
popular_search, created = PopularSearch.objects.get_or_create(
keyword=word,
defaults={
'auto_id': get_auto_id(PopularSearch)…
}
)
if not created:
popular_search.count = popular_search.count + 1
popular_search.save()
Variable | Value |
---|---|
created | False |
initial | {'job_title': 'sales'} |
job_title | 'sales' |
jobs | <QuerySet [<Job: Sales Executive>, <Job: SALES>, <Job: AREA SALES MANAGER>, <Job: Sales staff-Part time>, <Job: SALES STAFF>, <Job: SALES>, <Job: SALES EXECUTIVE>, <Job: SALES>, <Job: SALES OFFICER>, <Job: SALES>, <Job: SALES>, <Job: COUNTER SALES STAFF>, <Job: SALES EXECUTIVE>, <Job: SALES>, <Job: Sales Staff>, <Job: SALES STAFF>, <Job: SALES STAFF>, <Job: SALES STAFF>, <Job: Sales Executive>, <Job: Sales manager>, '...(remaining elements truncated)...']> |
popular_search | <PopularSearch: sales> |
request | <WSGIRequest: GET '/jobs/?job_title=sales'> |
sort_by | None |
word | 'sales(footware/' |
words | ['sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesman', 'salesgirl', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesman', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesman', 'salesman', 'sales', 'sales', 'sales', 'sales/', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesman', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesgirl', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesman', 'sales', 'sales', 'sales', 'salesman', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesman', 'sales', 'sales', 'salesman', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesman', 'sales', 'sales', 'sales', 'sales', 'salesman', 'salesman', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesgirl', 'salesman', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesgirl', 'salesman', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesman', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales/store', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesman', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'sales', 'salesgirl', … <trimmed 9314 bytes string> |
/srv/django/career_xchange/venv/lib/python3.6/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 | () |
kwargs | {'defaults': {'auto_id': 125}, 'keyword': 'sales(footware/'} |
name | 'get_or_create' |
self | <django.db.models.manager.Manager object at 0x7f2fdee9ccd0> |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/models/query.py
, line 576, in get_or_create
# The get() needs to be targeted at the write database in order
# to avoid potential transaction consistency problems.
self._for_write = True
try:
return self.get(**kwargs), False
except self.model.DoesNotExist:
params = self._extract_model_params(defaults, **kwargs)
return self._create_object_from_params(kwargs, params)…
def update_or_create(self, defaults=None, **kwargs):
"""
Look up an object with the given kwargs, updating one with defaults
if it exists, otherwise create a new one.
Return a tuple (object, created), where created is a boolean
Variable | Value |
---|---|
defaults | {'auto_id': 125} |
kwargs | {'keyword': 'sales(footware/'} |
params | {'auto_id': 125, 'keyword': 'sales(footware/'} |
self | <QuerySet [<PopularSearch: editor>, <PopularSearch: billing/planning>, <PopularSearch: billing>, <PopularSearch: production>, <PopularSearch: product>, <PopularSearch: adminstrators>, <PopularSearch: hr>, <PopularSearch: 3>, <PopularSearch: 3d>, <PopularSearch: 2d>, <PopularSearch: cctv>, <PopularSearch: clerk>, <PopularSearch: engineerig>, <PopularSearch: engineers>, <PopularSearch: sales/>, <PopularSearch: librarian>, <PopularSearch: adminstrator>, <PopularSearch: adminstration>, <PopularSearch: adminstrator/>, <PopularSearch: mechanics>, '...(remaining elements truncated)...']> |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/models/query.py
, line 610, in _create_object_from_params
"""
Try to create an object using passed params. Used by get_or_create()
and update_or_create().
"""
try:
with transaction.atomic(using=self.db):
params = dict(resolve_callables(params))
obj = self.create(**params)…
return obj, True
except IntegrityError:
try:
qs = self.select_for_update() if lock else self
return qs.get(**lookup), False
except self.model.DoesNotExist:
Variable | Value |
---|---|
lock | False |
lookup | {'keyword': 'sales(footware/'} |
params | {'auto_id': 125, 'keyword': 'sales(footware/'} |
self | <QuerySet [<PopularSearch: editor>, <PopularSearch: billing/planning>, <PopularSearch: billing>, <PopularSearch: production>, <PopularSearch: product>, <PopularSearch: adminstrators>, <PopularSearch: hr>, <PopularSearch: 3>, <PopularSearch: 3d>, <PopularSearch: 2d>, <PopularSearch: cctv>, <PopularSearch: clerk>, <PopularSearch: engineerig>, <PopularSearch: engineers>, <PopularSearch: sales/>, <PopularSearch: librarian>, <PopularSearch: adminstrator>, <PopularSearch: adminstration>, <PopularSearch: adminstrator/>, <PopularSearch: mechanics>, '...(remaining elements truncated)...']> |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/models/query.py
, line 447, in create
def create(self, **kwargs):
"""
Create a new object with the given kwargs, saving it to the database
and returning the created object.
"""
obj = self.model(**kwargs)
self._for_write = True
obj.save(force_insert=True, using=self.db)…
return obj
def _populate_pk_values(self, objs):
for obj in objs:
if obj.pk is None:
obj.pk = obj._meta.pk.get_pk_value_on_save(obj)
Variable | Value |
---|---|
kwargs | {'auto_id': 125, 'keyword': 'sales(footware/'} |
obj | <PopularSearch: sales(footware/> |
self | <QuerySet [<PopularSearch: editor>, <PopularSearch: billing/planning>, <PopularSearch: billing>, <PopularSearch: production>, <PopularSearch: product>, <PopularSearch: adminstrators>, <PopularSearch: hr>, <PopularSearch: 3>, <PopularSearch: 3d>, <PopularSearch: 2d>, <PopularSearch: cctv>, <PopularSearch: clerk>, <PopularSearch: engineerig>, <PopularSearch: engineers>, <PopularSearch: sales/>, <PopularSearch: librarian>, <PopularSearch: adminstrator>, <PopularSearch: adminstration>, <PopularSearch: adminstrator/>, <PopularSearch: mechanics>, '...(remaining elements truncated)...']> |
/srv/django/career_xchange/src/job_portal/jobs/models.py
, line 205, in save
db_table = 'job_popular_search'
verbose_name = _('Popular Search')
verbose_name_plural = _('Popular Searches')
ordering = ('-date_added',)
default_permissions = ('add', 'view', 'delete', 'change')
def save(self, *args, **kwargs):
if not Job.objects.filter(is_verified=True, name__iregex=r"[[:<:]]{0}".format(self.keyword)).exclude(employer__is_deleted=True).exists():…
self.is_deleted = True
super(PopularSearch, self).save(*args, **kwargs)
def __str__(self):
return str(self.keyword)
Variable | Value |
---|---|
__class__ | <class 'jobs.models.PopularSearch'> |
args | () |
kwargs | {'force_insert': True, 'using': 'default'} |
self | <PopularSearch: sales(footware/> |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/models/query.py
, line 809, in exists
self._result_cache = None
return query.get_compiler(self.db).execute_sql(CURSOR)
_update.alters_data = True
_update.queryset_only = False
def exists(self):
if self._result_cache is None:
return self.query.has_results(using=self.db)…
return bool(self._result_cache)
def _prefetch_related_objects(self):
# This method can only be called once the result cache has been filled.
prefetch_related_objects(self._result_cache, *self._prefetch_related_lookups)
self._prefetch_done = True
Variable | Value |
---|---|
self | Error in formatting: DataError: invalid regular expression: parentheses () not balanced |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/models/sql/query.py
, line 535, in has_results
# Disable GROUP BY aliases to avoid orphaning references to the
# SELECT clause which is about to be cleared.
q.set_group_by(allow_aliases=False)
q.clear_select_clause()
q.clear_ordering(True)
q.set_limits(high=1)
compiler = q.get_compiler(using=using)
return compiler.has_results()…
def explain(self, using, format=None, **options):
q = self.clone()
q.explain_query = True
q.explain_format = format
q.explain_options = options
Variable | Value |
---|---|
compiler | <django.db.models.sql.compiler.SQLCompiler object at 0x7f2fddcd4a90> |
q | <django.db.models.sql.query.Query object at 0x7f2fddcd4d50> |
self | <django.db.models.sql.query.Query object at 0x7f2fddce34d0> |
using | 'default' |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/models/sql/compiler.py
, line 1124, in has_results
"""
Backends (e.g. NoSQL) can override this in order to use optimized
versions of "query has any results."
"""
# This is always executed on a query clone, so we can modify self.query
self.query.add_extra({'a': 1}, None, None, None, None, None)
self.query.set_extra_mask(['a'])
return bool(self.execute_sql(SINGLE))…
def execute_sql(self, result_type=MULTI, chunked_fetch=False, chunk_size=GET_ITERATOR_CHUNK_SIZE):
"""
Run the query against the database and return the result(s). The
return value is a single data item if result_type is SINGLE, or an
iterator over the results if the result_type is MULTI.
Variable | Value |
---|---|
self | <django.db.models.sql.compiler.SQLCompiler object at 0x7f2fddcd4a90> |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/models/sql/compiler.py
, line 1154, in execute_sql
else:
return
if chunked_fetch:
cursor = self.connection.chunked_cursor()
else:
cursor = self.connection.cursor()
try:
cursor.execute(sql, params)…
except Exception:
# Might fail for server-side cursors (e.g. connection closed)
cursor.close()
raise
if result_type == CURSOR:
Variable | Value |
---|---|
chunk_size | 100 |
chunked_fetch | False |
cursor | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990> |
params | ('[[:<:]]sales(footware/',) |
result_type | 'single' |
self | <django.db.models.sql.compiler.SQLCompiler object at 0x7f2fddcd4a90> |
sql | ('SELECT (1) AS "a" FROM "jobs_job" INNER JOIN "users_employer" ON ' '("jobs_job"."employer_id" = "users_employer"."id") WHERE ' '("jobs_job"."is_verified" AND "jobs_job"."name"::text ~* %s AND NOT ' '("users_employer"."is_deleted")) LIMIT 1') |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/backends/utils.py
, line 98, in execute
class CursorDebugWrapper(CursorWrapper):
# XXX callproc isn't instrumented at this time.
def execute(self, sql, params=None):
with self.debug_sql(sql, params, use_last_executed_query=True):
return super().execute(sql, params)…
def executemany(self, sql, param_list):
with self.debug_sql(sql, param_list, many=True):
return super().executemany(sql, param_list)
@contextmanager
Variable | Value |
---|---|
__class__ | <class 'django.db.backends.utils.CursorDebugWrapper'> |
params | ('[[:<:]]sales(footware/',) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990> |
sql | ('SELECT (1) AS "a" FROM "jobs_job" INNER JOIN "users_employer" ON ' '("jobs_job"."employer_id" = "users_employer"."id") WHERE ' '("jobs_job"."is_verified" AND "jobs_job"."name"::text ~* %s AND NOT ' '("users_employer"."is_deleted")) LIMIT 1') |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/backends/utils.py
, line 66, in execute
elif kparams is None:
return self.cursor.callproc(procname, params)
else:
params = params or ()
return self.cursor.callproc(procname, params, kparams)
def execute(self, sql, params=None):
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)…
def executemany(self, sql, param_list):
return self._execute_with_wrappers(sql, param_list, many=True, executor=self._executemany)
def _execute_with_wrappers(self, sql, params, many, executor):
context = {'connection': self.db, 'cursor': self}
Variable | Value |
---|---|
params | ('[[:<:]]sales(footware/',) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990> |
sql | ('SELECT (1) AS "a" FROM "jobs_job" INNER JOIN "users_employer" ON ' '("jobs_job"."employer_id" = "users_employer"."id") WHERE ' '("jobs_job"."is_verified" AND "jobs_job"."name"::text ~* %s AND NOT ' '("users_employer"."is_deleted")) LIMIT 1') |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/backends/utils.py
, line 75, in _execute_with_wrappers
def executemany(self, sql, param_list):
return self._execute_with_wrappers(sql, param_list, many=True, executor=self._executemany)
def _execute_with_wrappers(self, sql, params, many, executor):
context = {'connection': self.db, 'cursor': self}
for wrapper in reversed(self.db.execute_wrappers):
executor = functools.partial(wrapper, executor)
return executor(sql, params, many, context)…
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
Variable | Value |
---|---|
context | {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f2fe844d650>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990>} |
executor | <bound method CursorWrapper._execute of <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990>> |
many | False |
params | ('[[:<:]]sales(footware/',) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990> |
sql | ('SELECT (1) AS "a" FROM "jobs_job" INNER JOIN "users_employer" ON ' '("jobs_job"."employer_id" = "users_employer"."id") WHERE ' '("jobs_job"."is_verified" AND "jobs_job"."name"::text ~* %s AND NOT ' '("users_employer"."is_deleted")) LIMIT 1') |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/backends/utils.py
, line 84, in _execute
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params)…
def _executemany(self, sql, param_list, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f2fe844d650>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990>}) |
params | ('[[:<:]]sales(footware/',) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990> |
sql | ('SELECT (1) AS "a" FROM "jobs_job" INNER JOIN "users_employer" ON ' '("jobs_job"."employer_id" = "users_employer"."id") WHERE ' '("jobs_job"."is_verified" AND "jobs_job"."name"::text ~* %s AND NOT ' '("users_employer"."is_deleted")) LIMIT 1') |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/utils.py
, line 90, in __exit__
db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__)
if issubclass(exc_type, db_exc_type):
dj_exc_value = dj_exc_type(*exc_value.args)
# 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
raise dj_exc_value.with_traceback(traceback) from exc_value…
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.DataError'> |
dj_exc_type | <class 'django.db.utils.DataError'> |
dj_exc_value | DataError('invalid regular expression: parentheses () not balanced\n',) |
exc_type | <class 'psycopg2.errors.InvalidRegularExpression'> |
exc_value | InvalidRegularExpression('invalid regular expression: parentheses () not balanced\n',) |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7f2fe1910dd0> |
traceback | <traceback object at 0x7f2fdca3d2d0> |
/srv/django/career_xchange/venv/lib/python3.6/site-packages/django/db/backends/utils.py
, line 84, in _execute
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params)…
def _executemany(self, sql, param_list, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f2fe844d650>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990>}) |
params | ('[[:<:]]sales(footware/',) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f2fdcd6d990> |
sql | ('SELECT (1) AS "a" FROM "jobs_job" INNER JOIN "users_employer" ON ' '("jobs_job"."employer_id" = "users_employer"."id") WHERE ' '("jobs_job"."is_verified" AND "jobs_job"."name"::text ~* %s AND NOT ' '("users_employer"."is_deleted")) LIMIT 1') |
AnonymousUser
Variable | Value |
---|---|
job_title | 'sales' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'career-xchange.com' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '44.204.34.64' |
HTTP_X_FORWARDED_PROTO | 'http' |
PATH_INFO | '/jobs/' |
QUERY_STRING | 'job_title=sales' |
RAW_URI | '/jobs/?job_title=sales' |
REMOTE_ADDR | '' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | 'career-xchange.com' |
SERVER_PORT | '80' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/21.2.0' |
gunicorn.socket | <socket.socket fd=12, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/srv/django/career_xchange/src/job_portal/careerxchange.sock> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f2fdd48b690> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7f2fdd48ba90> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
job_portal.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ADMIN_EMAIL | 'info@career-xchange.com' |
ALLOWED_HOSTS | ['.www.career-xchange.com', '.career-xchange-staging.talrop.works', '.www.career-xchange-staging.talrop.works', '.career-xchange.com', '.64.227.134.193'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | PosixPath('/srv/django/career_xchange/src/job_portal') |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CKEDITOR_CONFIGS | {'default': {'height': 300, 'toolbar': 'full', 'width': '100%'}} |
CKEDITOR_IMAGE_BACKEND | 'pillow' |
CKEDITOR_UPLOAD_PATH | 'uploads/' |
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': 'career_xchange_db', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'career_xchange_db'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_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 | 'info@career-xchange.com' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_REPLY_TO_EMAIL | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'smtppro.zoho.in' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'info@career-xchange.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' |
GOOGLE_MAPS_KEY | '********************' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['dal', 'dal_select2', 'ckeditor', 'ckeditor_uploader', 'places', 'mailqueue', 'registration', 'el_pagination', 'django_inlinecss', 'versatileimagefield', 'django_unused_media', 'django_template_maths', 'import_export', 'django_user_agents', 'debug_toolbar', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'general', 'users', 'jobs', 'payments', 'web', 'cities', 'messaging', 'hr_management', 'finance', 'resumes'] |
INTERNAL_IPS | [] |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'en-us' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/app/' |
LOGIN_URL | '/app/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
LOGOUT_URL | '/app/accounts/logout/' |
MAILQUEUE_LIMIT | 100 |
MAILQUEUE_QUEUE_UP | True |
MANAGERS | [] |
MEDIA_ROOT | PosixPath('/srv/django/career_xchange/src/job_portal/medias') |
MEDIA_URL | '/medias/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'general.middlewares.CheckModeMiddleware', 'django_user_agents.middleware.UserAgentMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_ENCRYPTION_KEY | '********************' |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PLACES_MAPS_API_KEY | '********************' |
PLACES_MAP_OPTIONS | '{"center": { "lat": 38.971584, "lng": -95.235072 }, "zoom": 10}' |
PLACES_MAP_WIDGET_HEIGHT | 480 |
PLACES_MARKER_OPTIONS | '{"draggable": true}' |
PREPEND_WWW | False |
REST_FRAMEWORK | {'DEFAULT_AUTHENTICATION_CLASSES': ['rest_framework_simplejwt.authentication.JWTAuthentication'], 'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated'], 'DEFAULT_RENDERER_CLASSES': ['rest_framework.renderers.JSONRenderer']} |
ROOT_URLCONF | 'job_portal.urls' |
RZP_ID_KEY | '********************' |
RZP_SECRET_KEY | '********************' |
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 | 'info@career-xchange.com' |
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 | 'job_portal.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SIMPLE_JWT | {'ACCESS_TOKEN_LIFETIME': '********************', 'BLACKLIST_AFTER_ROTATION': True, 'REFRESH_TOKEN_LIFETIME': '********************', 'ROTATE_REFRESH_TOKENS': '********************'} |
SMS_ATTEMPT_LIMIT | 5 |
STATICFILES_DIRS | (PosixPath('/srv/django/career_xchange/src/job_portal/static'),) |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_FILE_ROOT | PosixPath('/srv/django/career_xchange/src/job_portal/static') |
STATIC_ROOT | PosixPath('/srv/django/career_xchange/src/job_portal/static/static_files') |
STATIC_URL | '/static/' |
SUB_LEDGER_ACCOUNT_HEADS | ['Sundry Debtor (Employer)', 'Sundry Creditor', 'Sundry Debtor (Candidate)'] |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [PosixPath('/srv/django/career_xchange/src/job_portal/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', 'general.context_processors.main_context']}}] |
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/Kolkata' |
TRACKING_USE_GEOIP | True |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
VERSATILEIMAGEFIELD_SETTINGS | {'cache_length': 2592000, 'cache_name': 'versatileimagefield_cache', 'create_images_on_demand': True, 'filtered_directory_name': '__filtered__', 'image_key_post_processor': '********************', 'jpeg_resize_quality': 70, 'placeholder_directory_name': '__placeholder__', 'progressive_jpeg': False, 'sized_directory_name': '__sized__'} |
WSGI_APPLICATION | 'job_portal.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.