Django导入错误 – 没有名为django.conf.urls.defaults的模块
我试图运行使用django 1.6 statsd /石墨。
在访问石墨URL时,我得到Django模块错误
文件“/opt/graphite/webapp/graphite/urls.py”,第15行,来自django.conf.urls.defaults import * ImportError:没有名为defaults的模块
但是,我没有find默认的 django包里面/Library/Python/2.7/site-packages/django/conf/urls/
请帮助解决这个问题。
Django 1.6中已经删除了 django.conf.urls.defaults
。 如果问题出在您自己的代码中,您可以通过更改导入来修复它
from django.conf.urls import patterns, url, include
但是,在你的情况下,问题是在第三方应用程序,石墨。 这个问题已经在石墨的主分支和0.9.14+版本中得到修复。
在Django 1.8+中,您可以从导入中删除patterns
,并使用url()
的列表来代替。
from django.conf.urls import url, include
如果出于某种原因,您不想降级到Django 1.5.x或升级Graphite,那么您可以使用以下方法将修复应用于较旧的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
目录中。
这帮助了我的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' {} \;
..之后,我设法启动Graphite的一些function没有工作。 现在他们为我工作,但YMMV。)