Django 'ImportError: 无法导入名称 url'

Posted

技术标签:

【中文标题】Django \'ImportError: 无法导入名称 url\'【英文标题】:Django 'ImportError: cannot import name url'Django 'ImportError: 无法导入名称 url' 【发布时间】:2019-08-27 22:34:14 【问题描述】:

您好,谁能帮我解决“ImportError: cannot import name url”问题? 我已经按照这里的教程https://docs.djangoproject.com/en/1.9/intro/tutorial01/

我尝试了另一个教程https://docs.djangoproject.com/zh-hans/2.0/ref/urls/#django.urls.include 但他们都没有工作 我的 Django 版本是 1.11.20

正在执行系统检查... Traceback 启动的线程中未处理的异常 (最近一次通话最后一次): 文件 "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py", 第 228 行,在包装器 fn(*args, **kwargs) 文件 “/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py”, 第 124 行,inner_run self.check(display_num_errors=True) 文件 “/usr/local/lib/python2.7/dist-packages/django/core/management/base.py”, 第 359 行,检查中 include_deployment_checks=include_deployment_checks, 文件 “/usr/local/lib/python2.7/dist-packages/django/core/management/base.py”, 第 346 行,在 _run_checks 返回 checks.run_checks(**kwargs) 文件 "/usr/local/lib/python2.7/dist-packages/django/core/checks/registry.py", 第 81 行,在 run_checks new_errors = 检查(app_configs=app_configs) 文件 "/usr/local/lib/python2.7/dist-packages/django/core/checks/urls.py", 第 16 行,在 check_url_config 返回 check_resolver(解析器) 文件 "/usr/local/lib/python2.7/dist-packages/django/core/checks/urls.py", 第 26 行,在 check_resolver 中返回 check_method() 文件 "/usr/local/lib/python2.7/dist-packages/django/urls/resolvers.py", 第 256 行,检查模式 self.url_patterns: 文件 “/usr/local/lib/python2.7/dist-packages/django/utils/functional.py”, 第 35 行,在 get res = instance.dict[self.name] = self.func(instance) 文件 "/usr/local/lib/python2.7/dist-packages/django/urls/resolvers.py", 第 407 行,在 url_patterns 模式中 = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) 文件 “/usr/local/lib/python2.7/dist-packages/django/utils/functional.py”, 第 35 行,在 get res = instance.dict[self.name] = self.func(instance) 文件 "/usr/local/lib/python2.7/dist-packages/django/urls/resolvers.py", 第 400 行,在 urlconf_module 返回 导入模块(self.urlconf_name) 文件“/usr/lib/python2.7/importlib/init.py”,第 37 行,在 import_moduleimport(名称)文件“/home/adduser/cantera_correction/mysite/urls.py”,第 16 行,在 从 django.conf.urls 导入包含,路径 ImportError: 无法导入名称路径

【问题讨论】:

我们需要更多信息,例如完整的错误堆栈跟踪,以及您的 urls.py 【参考方案1】:

path was introduced in django since Django 2.0。所以,如果你使用的是 Django 1.11,那么你就不能使用它。你需要像这样定义urls:

from django.conf.urls import url, include

urlpatterns = [
    # rest of the urls
    url(r'^$', HomeView.as_view()),

]

【讨论】:

【参考方案2】:

更正您的导入:

from django.urls import path, include

【讨论】:

【参考方案3】:

此代码将为您工作。

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

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

【讨论】:

以上是关于Django 'ImportError: 无法导入名称 url'的主要内容,如果未能解决你的问题,请参考以下文章

Django,ImportError:无法导入名称 Celery,可能的循环导入?

Django:ImportError:无法导入名称“用户”

Django 无法从应用程序文件夹导入应用程序,ImportError

ImportError:升级到 Django 4.0 后无法从“django.conf.urls”导入名称“url”

Django 上的 MakeMigration 错误 - ImportError:无法从“django.db.models”导入名称“FieldDoesNotExist”

Django ImportError:无法导入名称 get_permission_codename