Django导入错误-没有名为Django.conf.urls.defaults的模块

2024-05-15 17:02:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试运行statsd/graphite,它使用django 1.6。

访问graphite URL时,出现django模块错误

File "/opt/graphite/webapp/graphite/urls.py", line 15, in from django.conf.urls.defaults import * ImportError: No module named defaults

但是,我在/Library/Python/2.7/site-packages/django/conf/urls/中找不到默认的django包

请帮助解决此问题。


Tags: 模块djangoinpyurlconf错误line
2条回答

如果出于某种原因,您不想降级到Django 1.5.x或升级Graphite,那么您可以通过以下方法将the fix应用到旧的Graphite:

find ./ -type f -exec sed -i -e 's/from\ django\.conf\.urls\.defaults\ import\ \*/from\ django\.conf\.urls\ import\ \*/g' {} \;

…在你的<graphite_dir>/webapp/graphite目录中。

这有助于我的石墨0.9.12和Django 1.7(.5)。

(我还必须:

find ./ -type f -exec sed -i -e 's/mimetype\=/content_type\=/g' {} \;
find ./ -type f -exec sed -i -e 's/content_type\=mimetype/content_type\=content_type/g' {} \;

……后来,当我开始尝试使用石墨之后,它的一些特性就不起作用了。现在他们为我工作,但是YMMV。)

django.conf.urls.defaultshas been removed in Django 1.6。如果问题是在您自己的代码中,您可以通过将导入更改为

from django.conf.urls import patterns, url, include

但是,在您的情况下,问题是在第三方应用程序graphite中。graphite的master分支和0.9.14+版本中的问题has been fixed

在Django 1.8+中,您可以从导入中删除patterns,并使用url()的列表。

from django.conf.urls import url, include

相关问题 更多 >