在 Django 项目中,您可能会遇到以下错误:

File "E:\python\Lib\site-packages\django\core\management\commands\runserver.py", line 133, in inner_run
    self.check(display_num_errors=True)
  File "E:\python\Lib\site-packages\django\core\management\base.py", line 485, in check
    all_issues = checks.run_checks(
                 ^^^^^^^^^^^^^^^^^^
  File "E:\python\Lib\site-packages\django\core\checks\registry.py", line 88, in run_checks
    new_errors = check(app_configs=app_configs, databases=databases)

                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "E:\python\Lib\site-packages\django\core\checks\urls.py", line 14, in check_url_config
    return check_resolver(resolver)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\python\Lib\site-packages\django\core\checks\urls.py", line 24, in check_resolver
    return check_method()
           ^^^^^^^^^^^^^^
  File "E:\python\Lib\site-packages\django\urls\resolvers.py", line 494, in check
    for pattern in self.url_patterns:
                   ^^^^^^^^^^^^^^^^^
  File "E:\python\Lib\site-packages\django\utils\functional.py", line 57, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "E:\python\Lib\site-packages\django\urls\resolvers.py", line 715, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
                       ^^^^^^^^^^^^^^^^^^^
  File "E:\python\Lib\site-packages\django\utils\functional.py", line 57, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ^^^^^^^^^^^^^^^^^^^
  File "E:\python\Lib\site-packages\django\urls\resolvers.py", line 708, in urlconf_module
    return import_module(self.urlconf_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\python\Lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load

  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "E:\DjangoProject\project20230815\project20230815\urls.py", line 35, in <module>
    path('admin/',admin.site.urls)
                  ^^^^^^^^^^
AttributeError: 'module 'app02.admin' has no attribute 'site'

这个错误信息表明,在您的项目的 urls.py 文件中,您引用了一个名为 'admin' 的模块,但是该模块中没有名为 'site' 的属性。

错误原因:

该错误通常是由于以下原因导致的:

  1. 错误的导入语句: 您的 urls.py 文件中可能存在错误的导入语句,例如,您可能错误地导入了 app02.admin 模块,而实际上您需要导入的是 django.contrib.admin 模块。
  2. 应用程序名称错误: 您的项目中可能存在一个名为 'admin' 的应用程序,但是您在 urls.py 文件中引用的应用程序名称可能错误。
  3. 应用程序代码错误: 在您的 'admin' 应用程序的 __init__.py 文件中可能存在错误,导致 'site' 属性无法正常访问。

解决步骤:

  1. 检查导入语句:
    • 仔细检查您的 urls.py 文件中所有导入语句,确保没有错误的导入或拼写错误。
    • 特别注意检查与 'admin' 相关的导入语句,确保您导入了 django.contrib.admin 模块,而不是其他模块。
  2. 确保应用程序存在:
    • 确保您的项目中确实存在一个名为 'admin' 的应用程序,该应用程序通常是 Django 默认安装的一部分。
    • 如果您没有找到 'admin' 应用程序,您可以尝试重新安装 Django,并确保您使用的是最新版本。
  3. 检查应用程序代码:
    • 确保您的 'admin' 应用程序的 __init__.py 文件没有发生错误。
    • 如果您对 'admin' 应用程序进行了自定义修改,请确保您的修改没有引入错误。

示例:

假设您的 urls.py 文件中存在以下代码:

from django.urls import path
from app02.admin import site

urlpatterns = [
    path('admin/', site.urls)
]

您需要将代码修改为以下内容:

from django.urls import path
from django.contrib import admin

urlpatterns = [
    path('admin/', admin.site.urls)
]

其他解决方法:

  • 尝试重新安装 Django:pip install --upgrade django
  • 尝试清除缓存:python manage.py clear_cache
  • 检查您的虚拟环境:确保您正在使用正确的虚拟环境。

如果以上步骤无法解决问题,请提供更多的代码和错误信息,以便我们更好地帮助您解决问题。

Django 项目中 AttributeError: 'module 'app02.admin' has no attribute 'site'' 错误解决方法

原文地址: https://www.cveoy.top/t/topic/qtL2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录