Cannot resolve keyword 'themes' into field. Choices are: annee, bibliographic, created_by, created_by_id, created_on, editeur, editeur_id, fichier, id, image, isbn, lang, lang_doc, lang_notice, modified_by, modified_by_id, modified_on, mois, nb_volumes, num_in_serie, numero, pages, periodique, periodique_id, remarques, serie, titre, titre_ouvrage, type_notice, type_notice_id, volume, المسؤول
Request Method: | GET |
---|---|
Request URL: | https://saramusik.org/bibliographie/textes_edites/ |
Django Version: | 3.1.4 |
Exception Type: | FieldError |
Exception Value: | Cannot resolve keyword 'themes' into field. Choices are: annee, bibliographic, created_by, created_by_id, created_on, editeur, editeur_id, fichier, id, image, isbn, lang, lang_doc, lang_notice, modified_by, modified_by_id, modified_on, mois, nb_volumes, num_in_serie, numero, pages, periodique, periodique_id, remarques, serie, titre, titre_ouvrage, type_notice, type_notice_id, volume, المسؤول |
Exception Location: | /usr/local/lib/python3.8/site-packages/django/db/models/sql/query.py, line 1481, in names_to_path |
Python Executable: | /usr/bin/python |
Python Version: | 3.8.2 |
Python Path: | ['/home/saramusik/www/saramusik', '/usr/local/bin', '/usr/local/lib/python38.zip', '/usr/local/lib/python3.8', '/usr/local/lib/python3.8/lib-dynload', '/home/anas/.local/lib/python3.8/site-packages', '/usr/local/lib/python3.8/site-packages', '/usr/local/lib/python3.8/site-packages/alphabet_detector-0.0.7-py3.8.egg', '/usr/local/lib/python3.8/site-packages/jsonfield-3.1.0-py3.8.egg', '/usr/local/lib/python3.8/site-packages/django_datatext-0.46-py3.8.egg', '/usr/local/lib/python3.8/site-packages/django_bibliographic-0.61-py3.8.egg'] |
Server time: | Tue, 19 Mar 2024 15:00:07 +0100 |
/usr/local/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 | FieldError("Cannot resolve keyword 'themes' into field. Choices are: annee, bibliographic, created_by, created_by_id, created_on, editeur, editeur_id, fichier, id, image, isbn, lang, lang_doc, lang_notice, modified_by, modified_by_id, modified_on, mois, nb_volumes, num_in_serie, numero, pages, periodique, periodique_id, remarques, serie, titre, titre_ouvrage, type_notice, type_notice_id, volume, المسؤول") |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fba48730340>> |
request | <WSGIRequest: GET '/bibliographie/textes_edites/'> |
/usr/local/lib/python3.8/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 BibeditList at 0x7fba4525ac10> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fba486e98b0>> |
request | <WSGIRequest: GET '/bibliographie/textes_edites/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fba48730340> |
wrapped_callback | <function BibeditList at 0x7fba4525ac10> |
/usr/local/lib/python3.8/site-packages/django/views/generic/base.py
, line 70, in view
self = cls(**initkwargs)
self.setup(request, *args, **kwargs)
if not hasattr(self, 'request'):
raise AttributeError(
"%s instance has no 'request' attribute. Did you override "
"setup() and forget to call super()?" % cls.__name__
)
return self.dispatch(request, *args, **kwargs)…
view.view_class = cls
view.view_initkwargs = initkwargs
# take name and docstring from class
update_wrapper(view, cls, updated=())
Variable | Value |
---|---|
args | () |
cls | <class 'bibliographic.views.BibeditList'> |
initkwargs | {} |
kwargs | {} |
request | <WSGIRequest: GET '/bibliographie/textes_edites/'> |
self | <bibliographic.views.BibeditList object at 0x7fba44e4dd30> |
/usr/local/lib/python3.8/site-packages/django/views/generic/base.py
, line 98, 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 BaseListView.get of <bibliographic.views.BibeditList object at 0x7fba44e4dd30>> |
kwargs | {} |
request | <WSGIRequest: GET '/bibliographie/textes_edites/'> |
self | <bibliographic.views.BibeditList object at 0x7fba44e4dd30> |
/usr/local/lib/python3.8/site-packages/django/views/generic/list.py
, line 142, in get
context.update(kwargs)
return super().get_context_data(**context)
class BaseListView(MultipleObjectMixin, View):
"""A base view for displaying a list of objects."""
def get(self, request, *args, **kwargs):
self.object_list = self.get_queryset()…
allow_empty = self.get_allow_empty()
if not allow_empty:
# When pagination is enabled and object_list is a queryset,
# it's better to do a cheap query than to load the unpaginated
# queryset in memory.
Variable | Value |
---|---|
args | () |
kwargs | {} |
request | <WSGIRequest: GET '/bibliographie/textes_edites/'> |
self | <bibliographic.views.BibeditList object at 0x7fba44e4dd30> |
/usr/local/lib/python3.8/site-packages/django_bibliographic-0.61-py3.8.egg/bibliographic/views.py
, line 23, in get_queryset
return context
class BibeditList(ListView):
model = Notice
template_name = "web/textes_edites_list.html"
def get_queryset(self):
return Notice.objects.filter(themes__id__exact=5)…
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['responsabilites'] = Responsabilite.objects.filter(notice__in = self.object_list).order_by('fonction')
context['notices_ar'] = Notice.objects.filter(themes__id__exact=5).filter(lang_notice = 'ar')
context['notices_nar'] = Notice.objects.filter(themes__id__exact=5).exclude(lang_notice = 'ar')
Variable | Value |
---|---|
self | <bibliographic.views.BibeditList object at 0x7fba44e4dd30> |
/usr/local/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 | () |
kwargs | {'themes__id__exact': 5} |
name | 'filter' |
self | <django.db.models.manager.Manager object at 0x7fba4511e520> |
/usr/local/lib/python3.8/site-packages/django/db/models/query.py
, line 942, 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 | () |
kwargs | {'themes__id__exact': 5} |
self | <QuerySet [<Notice: None : رسالة في الموسيقى>, <Notice: None : معلمة الملحون>, <Notice: None : Organ>, <Notice: None : فهرس مخطوطات المكتبة الأحمديّة بتونس>, <Notice: None : رصيد مكتبة حسن حسني عبد الوهاب>, <Notice: None : kupurlu mehmet pacha kutuphanesi defter>, <Notice: None : The Shaid Collection in the Sulemaniye Library- Defter>, <Notice: None : مسالك الأبصار في ممالك الأمصار>, <Notice: None : métamorphoses du ʻūd>, <Notice: None : initiation à la musique tunisienne>, <Notice: None : قانون الأصفياء في علم نغمات الأذكياء>, <Notice: 1875 : دفتر المكتبة الصّادقيّة>, <Notice: 1886 : Defter-i Kütüphane-i Veliyüddin>, <Notice: 1893 : Catalogue des manuscrits de Bibliothèque>, <Notice: 1893 : The Laleli collection in the suleymanie library- Defter>, <Notice: 1894 : Triipolitanisch-tunisische Beduinenlieder>, <Notice: 1895 : رسالة روض المسرّات في علم النّغمات>, <Notice: 1902 : Chants Arabes du Maghreb, étude sur le dialecte et la poésie populaire de l’Afrique du Nord>, <Notice: 1903 : ثلاث رسائل>, <Notice: 1906 : مجموعة رسائل>, '...(remaining elements truncated)...']> |
/usr/local/lib/python3.8/site-packages/django/db/models/query.py
, line 962, 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 | () |
clone | <QuerySet [<Notice: None : رسالة في الموسيقى>, <Notice: None : معلمة الملحون>, <Notice: None : Organ>, <Notice: None : فهرس مخطوطات المكتبة الأحمديّة بتونس>, <Notice: None : رصيد مكتبة حسن حسني عبد الوهاب>, <Notice: None : kupurlu mehmet pacha kutuphanesi defter>, <Notice: None : The Shaid Collection in the Sulemaniye Library- Defter>, <Notice: None : مسالك الأبصار في ممالك الأمصار>, <Notice: None : métamorphoses du ʻūd>, <Notice: None : initiation à la musique tunisienne>, <Notice: None : قانون الأصفياء في علم نغمات الأذكياء>, <Notice: 1875 : دفتر المكتبة الصّادقيّة>, <Notice: 1886 : Defter-i Kütüphane-i Veliyüddin>, <Notice: 1893 : Catalogue des manuscrits de Bibliothèque>, <Notice: 1893 : The Laleli collection in the suleymanie library- Defter>, <Notice: 1894 : Triipolitanisch-tunisische Beduinenlieder>, <Notice: 1895 : رسالة روض المسرّات في علم النّغمات>, <Notice: 1902 : Chants Arabes du Maghreb, étude sur le dialecte et la poésie populaire de l’Afrique du Nord>, <Notice: 1903 : ثلاث رسائل>, <Notice: 1906 : مجموعة رسائل>, '...(remaining elements truncated)...']> |
kwargs | {'themes__id__exact': 5} |
negate | False |
self | <QuerySet [<Notice: None : رسالة في الموسيقى>, <Notice: None : معلمة الملحون>, <Notice: None : Organ>, <Notice: None : فهرس مخطوطات المكتبة الأحمديّة بتونس>, <Notice: None : رصيد مكتبة حسن حسني عبد الوهاب>, <Notice: None : kupurlu mehmet pacha kutuphanesi defter>, <Notice: None : The Shaid Collection in the Sulemaniye Library- Defter>, <Notice: None : مسالك الأبصار في ممالك الأمصار>, <Notice: None : métamorphoses du ʻūd>, <Notice: None : initiation à la musique tunisienne>, <Notice: None : قانون الأصفياء في علم نغمات الأذكياء>, <Notice: 1875 : دفتر المكتبة الصّادقيّة>, <Notice: 1886 : Defter-i Kütüphane-i Veliyüddin>, <Notice: 1893 : Catalogue des manuscrits de Bibliothèque>, <Notice: 1893 : The Laleli collection in the suleymanie library- Defter>, <Notice: 1894 : Triipolitanisch-tunisische Beduinenlieder>, <Notice: 1895 : رسالة روض المسرّات في علم النّغمات>, <Notice: 1902 : Chants Arabes du Maghreb, étude sur le dialecte et la poésie populaire de l’Afrique du Nord>, <Notice: 1903 : ثلاث رسائل>, <Notice: 1906 : مجموعة رسائل>, '...(remaining elements truncated)...']> |
/usr/local/lib/python3.8/site-packages/django/db/models/query.py
, line 969, 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 | () |
kwargs | {'themes__id__exact': 5} |
negate | False |
self | <QuerySet [<Notice: None : رسالة في الموسيقى>, <Notice: None : معلمة الملحون>, <Notice: None : Organ>, <Notice: None : فهرس مخطوطات المكتبة الأحمديّة بتونس>, <Notice: None : رصيد مكتبة حسن حسني عبد الوهاب>, <Notice: None : kupurlu mehmet pacha kutuphanesi defter>, <Notice: None : The Shaid Collection in the Sulemaniye Library- Defter>, <Notice: None : مسالك الأبصار في ممالك الأمصار>, <Notice: None : métamorphoses du ʻūd>, <Notice: None : initiation à la musique tunisienne>, <Notice: None : قانون الأصفياء في علم نغمات الأذكياء>, <Notice: 1875 : دفتر المكتبة الصّادقيّة>, <Notice: 1886 : Defter-i Kütüphane-i Veliyüddin>, <Notice: 1893 : Catalogue des manuscrits de Bibliothèque>, <Notice: 1893 : The Laleli collection in the suleymanie library- Defter>, <Notice: 1894 : Triipolitanisch-tunisische Beduinenlieder>, <Notice: 1895 : رسالة روض المسرّات في علم النّغمات>, <Notice: 1902 : Chants Arabes du Maghreb, étude sur le dialecte et la poésie populaire de l’Afrique du Nord>, <Notice: 1903 : ثلاث رسائل>, <Notice: 1906 : مجموعة رسائل>, '...(remaining elements truncated)...']> |
/usr/local/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1358, 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: ('themes__id__exact', 5))> |
self | <django.db.models.sql.query.Query object at 0x7fba44e4de80> |
/usr/local/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1377, 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 | ('themes__id__exact', 5) |
connector | 'AND' |
current_negated | False |
joinpromoter | <django.db.models.sql.query.JoinPromoter object at 0x7fba44e4dd00> |
q_object | <Q: (AND: ('themes__id__exact', 5))> |
self | <django.db.models.sql.query.Query object at 0x7fba44e4de80> |
split_subq | True |
target_clause | <WhereNode: (AND: )> |
used_aliases | set() |
/usr/local/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1258, in build_filter
)
clause = self.where_class()
clause.add(condition, AND)
return clause, []
arg, value = filter_expr
if not arg:
raise FieldError("Cannot parse keyword query %r" % arg)
lookups, parts, reffed_expression = self.solve_lookup_type(arg)…
if check_filterable:
self.check_filterable(reffed_expression)
if not allow_joins and len(parts) > 1:
raise FieldError("Joined field references are not permitted in this query")
Variable | Value |
---|---|
allow_joins | True |
arg | 'themes__id__exact' |
branch_negated | False |
can_reuse | set() |
check_filterable | True |
current_negated | False |
filter_expr | ('themes__id__exact', 5) |
reuse_with_filtered_relation | False |
self | <django.db.models.sql.query.Query object at 0x7fba44e4de80> |
split_subq | True |
value | 5 |
/usr/local/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1084, in solve_lookup_type
Solve the lookup type from the lookup (e.g.: 'foobar__id__icontains').
"""
lookup_splitted = lookup.split(LOOKUP_SEP)
if self.annotations:
expression, expression_lookups = refs_expression(lookup_splitted, self.annotations)
if expression:
return expression_lookups, (), expression
_, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())…
field_parts = lookup_splitted[0:len(lookup_splitted) - len(lookup_parts)]
if len(lookup_parts) > 1 and not field_parts:
raise FieldError(
'Invalid lookup "%s" for model %s".' %
(lookup, self.get_meta().model.__name__)
)
Variable | Value |
---|---|
lookup | 'themes__id__exact' |
lookup_splitted | ['themes', 'id', 'exact'] |
self | <django.db.models.sql.query.Query object at 0x7fba44e4de80> |
/usr/local/lib/python3.8/site-packages/django/db/models/sql/query.py
, line 1481, in names_to_path
pos -= 1
if pos == -1 or fail_on_missing:
available = sorted([
*get_field_names_from_opts(opts),
*self.annotation_select,
*self._filtered_relations,
])
raise FieldError("Cannot resolve keyword '%s' into field. "…
"Choices are: %s" % (name, ", ".join(available)))
break
# Check if we need any joins for concrete inheritance cases (the
# field lives in parent, but we are currently in one of its
# children)
if model is not opts.model:
Variable | Value |
---|---|
allow_many | True |
available | ['annee', 'bibliographic', 'created_by', 'created_by_id', 'created_on', 'editeur', 'editeur_id', 'fichier', 'id', 'image', 'isbn', 'lang', 'lang_doc', 'lang_notice', 'modified_by', 'modified_by_id', 'modified_on', 'mois', 'nb_volumes', 'num_in_serie', 'numero', 'pages', 'periodique', 'periodique_id', 'remarques', 'serie', 'titre', 'titre_ouvrage', 'type_notice', 'type_notice_id', 'volume', 'المسؤول'] |
cur_names_with_path | ('themes', []) |
fail_on_missing | False |
field | None |
filtered_relation | None |
name | 'themes' |
names | ['themes', 'id', 'exact'] |
names_with_path | [] |
opts | <Options for Notice> |
path | [] |
pos | -1 |
self | <django.db.models.sql.query.Query object at 0x7fba44e4de80> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'saramusik.org' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '100.25.40.11' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '100.25.40.11' |
PATH_INFO | '/bibliographie/textes_edites/' |
QUERY_STRING | '' |
RAW_URI | '/bibliographie/textes_edites/' |
REMOTE_ADDR | '' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | 'saramusik.org' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/20.0.4' |
gunicorn.socket | <socket.socket fd=9, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/home/saramusik/www/saramusik/saramusik.sock> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fba44e4ddc0> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7fba44e4d190> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
saramusik.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
ALPHABET_TXT_DEFAULT | ('ar', 'Arabe') |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/home/saramusik/www/saramusik' |
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.mysql', 'HOST': '', 'NAME': '', 'OPTIONS': {'read_default_file': 'saramusik/settings.cnf'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.AutoField' |
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 | 'localhost' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 25 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | False |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'bibliographic', 'datatext', 'web', 'budget', 'meetings', 'rest_framework'] |
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 | 'ar' |
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 |
LANG_TXT_DEFAULT | ('ar', 'Arabe') |
LOCALE_PATHS | ('/home/saramusik/www/saramusik/locale', '/home/saramusik/www/saramusik/datatext/locale', '/home/saramusik/www/saramusik/bibliographic/locale') |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/home/saramusik/www/saramusik/media/' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NB_TRAD | 1 |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
REST_FRAMEWORK | {'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE': 10} |
ROOT_URLCONF | 'saramusik.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 | 'saramusik.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
STATICFILES_DIRS | [] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/saramusik/www/saramusik/static' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, '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']}}] |
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 | 'Africa/Tunis' |
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 | 'saramusik.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.