python - Django Importfehler-kein Modul namens django.conf.urls.defaults




graphite django-1.6 (2)

Ich versuche statsd / graphite zu verwenden, das django 1.6 benutzt.

Beim Zugriff auf die Graphite-URL erhalte ich einen Django-Modulfehler

Datei "/opt/graphite/webapp/graphite/urls.py", Zeile 15, in von django.conf.urls.defaults import * ImportError: Kein Modul namens defaults

Allerdings finde ich keine Standard-Django-Paket in /Library/Python/2.7/site-packages/django/conf/urls/

Bitte helfen Sie dieses Problem zu beheben.

https://code.i-harness.com


Wenn Sie aus irgendeinem Grund nicht auf Django 1.5.x herunterstufen oder Graphite upgraden möchten, können Sie den Fix auf Ihren älteren Graphite anwenden mit:

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

..in Ihrem <graphite_dir>/webapp/graphite dir.

Dies half mir mit meiner Graphite 0.9.12 und Django 1.7 (.5).

(Ich musste auch tun:

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' {} \;

Später, als ich Graphite gestartet habe, funktionierten einige Funktionen nicht. Jetzt arbeiten sie für mich, aber YMMV.)


django.conf.urls.defaults wurde in Django 1.6 entfernt . Wenn das Problem in Ihrem eigenen Code lag, würden Sie es beheben, indem Sie den Import in ändern

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

In Ihrem Fall ist das Problem jedoch in einer Drittanbieter-App, Graphit. Das Problem wurde im Master-Zweig von Graphite und in der Version 0.9.14+ behoben.

In Django 1.8+ können Sie patterns aus dem Import entfernen und stattdessen eine Liste von url() s verwenden.

from django.conf.urls import url, include






django-1.6