web-dev-qa-db-ja.com

Djangoインポートエラー-Django.conf.urls.defaultsというモジュールはありません

Django 1.6を使用するstatsd/graphiteを実行しようとしています。

グラファイトURLにアクセスしているときに、Djangoモジュールエラーが発生します

ファイル「/opt/graphite/webapp/graphite/urls.py」、15行目、Django.conf.urls.defaultsからインポートimport * ImportError:defaultsというモジュールはありません

ただし、デフォルト Djangoパッケージが/Library/Python/2.7/site-packages/Django/conf/urls/内に見つかりません

この問題の解決にご協力ください。

89
GJain

Django.conf.urls.defaultsDjango 1.6で削除されました 。問題が自分のコードにあった場合は、インポートを次のように変更して修正します。

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

ただし、あなたの場合、問題はサードパーティのアプリ、グラファイトにあります。問題 修正済み グラファイトのmasterブランチおよびバージョン0.9.14+で。

Django 1.8+では、インポートからpatternsを削除し、代わりにurl()sのリストを使用できます。

from Django.conf.urls import url, include
190
Alasdair

何らかの理由で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を起動できた後、その機能の一部が機能しませんでした。今はYMMVでしか動作しません)

3
Greg Dubicki