错误:'没有名为'django.core.urlresolvers'的模块

Posted

技术标签:

【中文标题】错误:\'没有名为\'django.core.urlresolvers\'的模块【英文标题】:ERROR: ' No module named 'django.core.urlresolvers'错误:'没有名为'django.core.urlresolvers'的模块 【发布时间】:2018-04-29 23:36:30 【问题描述】:

我正在尝试使用 Django REST 框架创建 Web 服务。在运行服务器时,当我尝试访问管理页面时,出现以下错误:

Invalid template library specified.
ImportError raised when trying to load 
'rest_framework.templatetags.rest_framework': No module named 'django.core.urlresolvers'

注意:我在设置中添加了rest_framework

【问题讨论】:

你使用的是哪个 Django 版本? 请升级您的 Django REST 框架版本或将 Django 降级到与您安装的 DRF 兼容的版本。 我使用的是 Django 2.0。 如我所说,升级 Django REST 框架。 【参考方案1】:

Django 2.0 删除了 django.core.urlresolvers 模块,该模块在 1.10 版中移至 django.urls。您应该将任何导入更改为使用 django.urls,如下所示:

from django.urls import reverse 而不是 django.core.urlresolvers

请注意,Django 2.0 删除了以前在 django.core.urlresolvers 中的一些功能,因此您可能需要在代码工作之前进行更多更改

【讨论】:

【参考方案2】:

使用这个。

from django.urls import reverse

Django 1.10 模块 django.core.urlresolvers 已弃用。请使用上面的导入来解决您的问题。

【讨论】:

在 DRF 3.11.0 的 Django 3.0.3 中为我工作,谢谢!【参考方案3】:

我有同样的问题,当我更新 Django REST 框架并使用 3.7.7 版本时,我可以解决这个问题。 你可以使用这个命令来解决这个问题

pip install djangorestframework==3.7.7

【讨论】:

【参考方案4】:

从 Django 1.10 开始,模块 django.core.urlresolvers 已被弃用。见官方documentation。

为了解决问题,您必须使用兼容的第三方软件包。您没有提到您使用的是哪个版本的 Django REST Framework,但我认为它不是 DRF 3.x.x

查看已安装的Django REST Framework版本,更新到3.7.x系列(Stand: 2017-11-17)。

【讨论】:

感谢您的来信。我卸载了Django 2.0版(算是测试版),安装了官方最新的1.11.7版,现在可以运行了。 是的。工作。官方文件不值得

以上是关于错误:'没有名为'django.core.urlresolvers'的模块的主要内容,如果未能解决你的问题,请参考以下文章

如何解决错误消息“没有名为 websocket 的模块”

错误:'没有名为'django.core.urlresolvers'的模块

原则 2:错误:类“..\..”没有名为“...”的字段或关联

错误:没有名为 staticfiles 的模块

Python Django错误ModuleNotFoundError:没有名为'corsheaders'的模块[关闭]

为啥我收到错误消息:没有名为“email.MIMEMultipart”的模块?