在/admin处出现ImportError:没有名为defaults的模块

2 投票
1 回答
4426 浏览
提问于 2025-04-17 20:24

我正在把我的网站从django 1.4升级到django 1.6,但总是出现这个错误:在/admin路径下出现ImportError:没有名为defaults的模块。其他地方都说应该这样做:

from django.conf.urls.defaults import *
# should be
from django.conf.urls import *

但是我在我的代码中找不到"from django.conf.urls.defaults import *"这行。调试器显示异常发生的位置是:

Exception Location: /home/.../webapps/healthtweets_dev/lib/python2.7/django/utils/importlib.py in import_module, line 40

而且在错误追踪中,它特别标出了admin.autodiscover()这一行:

/home/.../webapps/healthtweets_dev/healthtweets/code/health_tweets/urls.py in <module>

admin.autodiscover() 

我确定我已经安装了python 1.6.2,但我找不到在我的代码中哪里引入了默认模块。有没有人有什么想法?谢谢!

1 个回答

3

如果你已经把所有的 defaults 都删掉了,那可能有两个问题。

1: 你的编译过的 Python 文件可能还在用旧的数据。这种情况有时候会发生。你可以把项目里的所有 .pyc 文件删掉,这样就会强制重新编译。可以用这个命令:find . -name "*.pyc" | xargs rm

2: 在 INSTALLED_APPS 里,有一个应用还在用 <1.6 的语法来设置模式。你可以在你的 site-packages 目录里搜索这个模式,或者把第三方应用从 INSTALLED_APPS 里移除,直到找到问题所在。

撰写回答