错误:'没有名为'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'的模块的主要内容,如果未能解决你的问题,请参考以下文章
错误:'没有名为'django.core.urlresolvers'的模块
原则 2:错误:类“..\..”没有名为“...”的字段或关联