使用Django运行时出现“ ImportError:无法导入名称”

时间:2020-05-23 19:32:24

标签: python django jupyter

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

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

ImportError:无法从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)

2 个答案:

答案 0 :(得分:0)

我相信您的模块错误。至少那是我所经历的。可能是您拥有“ wkhtmltopdf”软件包吗?如果是这样,则它没有名为“视图”的模块。要解决此问题,请卸载它,然后安装“ django-wkhtmltopdf”。链接:https://www.php.net/manual/en/function.clearstatcache.php

答案 1 :(得分:0)

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

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

也许您想导入“ calc”应用程序的视图? 在这种情况下,您应该执行以下操作:

from . import views