[python] Django 가져 오기 오류-django.conf.urls.defaults라는 모듈이 없습니다.

django 1.6을 사용하는 statsd / graphite를 실행하려고합니다.

graphite URL에 액세스하는 동안 django 모듈 오류가 발생합니다.

파일 “/opt/graphite/webapp/graphite/urls.py”, 15 행, django.conf.urls.defaults에서 가져 오기 * ImportError : defaults라는 모듈이 없습니다.

그러나 내부에서 기본값 django 패키지를 찾지 못했습니다./Library/Python/2.7/site-packages/django/conf/urls/

이 문제를 해결하는 데 도움을주세요.



답변

django.conf.urls.defaults Django 1.6에서 제거되었습니다 . 자체 코드에 문제가있는 경우 가져 오기를 다음으로 변경하여 문제를 해결할 수 있습니다.

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

그러나 귀하의 경우 문제는 타사 앱인 흑연에 있습니다. 그래파이트의 마스터 브랜치 및 버전 0.9.14+에서 문제 가 수정되었습니다 .

Django 1.8 이상에서는 patterns가져 오기에서 제거 하고 url()대신 s 목록을 사용할 수 있습니다 .

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를 시작한 후 일부 기능이 작동하지 않았습니다. 이제 그들은 나를 위해 일하지만 YMMV.)


답변