96

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

访问石墨 URL 时,出现 django 模块错误

文件“/opt/graphite/webapp/graphite/urls.py”,第 15 行,从 django.conf.urls.defaults 导入 * ImportError: No module named defaults

但是,我没有在里面找到默认的django 包/Library/Python/2.7/site-packages/django/conf/urls/

请帮助解决此问题。

4

3 回答 3

196

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
于 2013-11-13T19:38:22.407 回答
3

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

于 2015-02-28T11:30:52.797 回答
0

转到安装 python 的文件位置。在该路径上打开 cmd 然后使用命令安装 django >> pip install django

然后使用 import django 交叉检查 python shell(它应该什么都不做)或简单地使用命令 >> python -m django --version

它只会为您提供版本 在此处输入图像描述

在此处输入图像描述

于 2021-02-24T06:33:40.587 回答