首页 > 解决方案 > AttributeError:“概述”对象没有属性“__qualname__”

问题描述

我正在将 Django 从 - python2.7 更新1.11.272.2.9python3.7 - 进行了所有更改,但是当我启动服务器时出现此错误。

AttributeError: 'Overview' object has no attribute '__qualname__'

Traceback (most recent call last):
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/contextlib.py", line 74, in inner
    return func(*args, **kwds)
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/contrib/admin/sites.py", line 241, in wrapper
    return self.admin_view(view, cacheable)(*args, **kwargs)
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/utils/decorators.py", line 142, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/contrib/admin/sites.py", line 213, in inner
    if request.path == reverse('admin:logout', current_app=self.name):
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/urls/base.py", line 58, in reverse
    app_list = resolver.app_dict[ns]
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/urls/resolvers.py", line 513, in app_dict
    self._populate()
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/urls/resolvers.py", line 464, in _populate
    url_pattern._populate()
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/urls/resolvers.py", line 464, in _populate
    url_pattern._populate()
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/urls/resolvers.py", line 452, in _populate
    self._callback_strs.add(url_pattern.lookup_str)
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/utils/functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/user/Sites/project-folder/venv/lib/python3.7/site-packages/django/urls/resolvers.py", line 362, in lookup_str
    return callback.__module__ + "." + callback.__qualname__
AttributeError: 'Overview' object has no attribute '__qualname__'

在这里找到异常(Django 2.2.9): https ://github.com/django/django/blob/master/django/urls/resolvers.py#L361

@cached_property
def lookup_str(self):
    """
    A string that identifies the view (e.g. 'path.to.view_function' or
    'path.to.ClassBasedView').
    """
    callback = self.callback
    if isinstance(callback, functools.partial):
        callback = callback.func
    if not hasattr(callback, '__name__'):
        return callback.__module__ + "." + callback.__class__.__name__
    return callback.__module__ + "." + callback.__qualname__

标签: djangoattributespython-3.7wsgidjango-wsgi

解决方案


推荐阅读