Как устранить ошибку "Exception while resolving variable 'name' in template 'unknown'.", возникающую при регистрации вызовов API?
Моя конфигурация журнала Django:
Отслеживание ошибки:
[2023-02-01T03:18:26+0000] DEBUG [django.template: _resolve_lookup: 867] Exception while resolving variable 'name' in template 'unknown'.
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py", line 100, in _get_response
resolver_match = resolver.resolve(request.path_info)
File "/usr/local/lib/python3.9/site-packages/newrelic/hooks/framework_django.py", line 613, in wrapper
return _wrapped(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/newrelic/hooks/framework_django.py", line 601, in _wrapped
result = wrapped(path)
File "/usr/local/lib/python3.9/site-packages/django/urls/resolvers.py", line 575, in resolve
raise Resolver404({'tried': tried, 'path': new_path})
django.urls.exceptions.Resolver404: {'tried': [[<URLResolver <URLPattern list> (admin:admin) 'admin/'>],
[<URLResolver <module 'myapp_ui.urls' from '/myapp/src/myapp_ui/urls.py'> (None:None) '^myapp_ui/'>],
[<URLResolver <module 'generic_apis.urls' from '/myapp/src/generic_apis/urls.py'> (None:None) '^generic_apis/'>],
[<URLResolver <module 'api1.urls' from '/myapp/src/api1/urls.py'> (None:None) '^api1/'>],
[<URLResolver <module 'salary_estimate.urls' from '/myapp/src/api2/urls.py'> (None:None) '^api2/'>],
[<URLResolver <module 'ckyc.urls' from '/myapp/src/api3/urls.py'> (None:None) '^api3/'>],
[<URLPattern '^static/(?P<path>.*)$'>]], 'path': ''}
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/django/template/base.py", line 828, in _resolve_lookup
current = current[bit]
TypeError: 'URLResolver' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/django/template/base.py", line 836, in _resolve_lookup
current = getattr(current, bit)
AttributeError: 'URLResolver' object has no attribute 'name'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/django/template/base.py", line 842, in _resolve_lookup
current = current[int(bit)]
ValueError: invalid literal for int() with base 10: 'name'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/django/template/base.py", line 847, in _resolve_lookup
raise VariableDoesNotExist("Failed lookup for key "
django.template.base.VariableDoesNotExist: Failed lookup for key [name] in <URLResolver <module 'api2.urls' from '/myapp/src/api2/urls.py'> (None:None) '^api2/'>
Я получаю эти django.views.debug:technical_404_response
журналы каждый раз, когда выполняется вызов API. Это может быть связано с тем, что шаблон Django API не содержит атрибута "name".
Я пробовал изменить формат 'format': "[%(asctime)s] %(levelname)s [%(name)s: %(funcName)s: %(lineno)s] %(message)s"
на 'format': "[%(asctime)s] %(levelname)s [%(funcName)s: %(lineno)s] %(message)s"
, но мне нужно регистрировать атрибут name
для всех других целей отладки.
Пожалуйста, предложите обходной путь для решения этой проблемы.