【问题标题】:Getting 'ImportError: cannot import name ' when I run it using Django使用 Django 运行时出现“ImportError:无法导入名称”
【发布时间】:2020-09-10 15:01:11
【问题描述】:

我是 Django 新手,正在尝试执行一个简单的“hello world”程序。

我创建了 urls.py 文件并尝试导入视图。当我运行 manage.py 时,我得到:

ImportError: cannot import name 'views' from django.views (C:\Users\XYZ\Envs\test\lib\site-packages\django\views__init__.py)

我该如何解决这个问题?

线程 django-main-thread 中的异常:

Traceback (most recent call last):
  File "c:\users\XYZ\appdata\local\programs\python\python37-32\lib\threading.py", line 926, in _bootstrap_inner
    self.run()
  File "c:\users\XYZ\appdata\local\programs\python\python37-32\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\core\management\commands\runserver.py", line 117, in inner_run
    self.check(display_num_errors=True)
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\core\management\base.py", line 395, in check
    include_deployment_checks=include_deployment_checks,
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\core\management\base.py", line 382, in _run_checks
    return checks.run_checks(**kwargs)
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\core\checks\registry.py", line 72, in run_checks
    new_errors = check(app_configs=app_configs)
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\core\checks\urls.py", line 13, in check_url_config
    return check_resolver(resolver)
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\core\checks\urls.py", line 23, in check_resolver
    return check_method()
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\urls\resolvers.py", line 407, in check
    for pattern in self.url_patterns:
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\utils\functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\urls\resolvers.py", line 588, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\utils\functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\urls\resolvers.py", line 581, in urlconf_module
    return import_module(self.urlconf_name)
  File "c:\users\XYZ\appdata\local\programs\python\python37-32\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\dj_XYZ\mysite\mysite\urls.py", line 21, in <module>
    path('',include('calc.urls')),
  File "C:\Users\XYZ\Envs\test\lib\site-packages\django\urls\conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "c:\users\XYZ\appdata\local\programs\python\python37-32\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\dj_XYZ\mysite\calc\urls.py", line 2, in <module>
    from django.views import views
ImportError: cannot import name 'views' from 'django.views' (C:\Users\XYZ\Envs\test\lib\site-packages\django\views\__init__.py)

【问题讨论】:

标签: python django jupyter


【解决方案1】:

我相信你有错误的模块。至少这是我所经历的。难道是你有“wkhtmltopdf”包?如果是这样,它没有名为“view”的模块。要解决此问题,请将其卸载,然后安装“django-wkhtmltopdf”。链接:https://pypi.org/project/django-wkhtmltopdf/

【讨论】:

    【解决方案2】:

    在文件“C:\dj_XYZ\mysite\mysite\urls.py”中,您正在导入一个不存在的模块:

    from django.views import views  # django.views.views doesn't exists!
    

    也许您想导入“calc”应用程序的视图? 在这种情况下,您应该这样做:

    from . import views
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 2013-02-22
      • 2015-04-30
      • 2019-08-27
      • 2016-09-07
      相关资源
      最近更新 更多