首页 文章

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

提问于
浏览
87

我正在尝试运行使用django 1.6的statsd / graphite .

访问石墨URL时,我得到django模块错误

文件“/opt/graphite/webapp/graphite/urls.py”,第15行,来自django.conf.urls.defaults import * ImportError:没有名为defaults的模块

不过,我找不到 defaults django包 /Library/Python/2.7/site-packages/django/conf/urls/

请帮助解决此问题 .

2 回答

  • 188

    django.conf.urls.defaults has been removed in Django 1.6 . 如果问题出在您自己的代码中,您可以通过更改导入来修复它

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

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

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

    from django.conf.urls import url, include
    
  • 3

    如果由于某种原因您不想降级到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 dir .

    这对我的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之后,它的一些功能无效 . 现在他们为我工作,但是YMMV . )

相关问题