在/admin处出现ImportError:没有名为defaults的模块
我正在把我的网站从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
里移除,直到找到问题所在。