回溯的含义是什么?
我正在使用 django-email-change-0.2.1 这个工具,目的是为了在 auth_user 表中更改电子邮件地址。当我想在 settings.py 文件中添加这个应用时,却出现了错误信息!
其实我可以安装这个应用,但我并没有在 Python 的 site-packages 目录下安装它,而是把代码直接复制到了我网站的代码里。
我网站的根目录是:
/trunk/website/
在下面这个路径下,我安装了不同的应用。路径是:
/trunk/website/auth/user/emailchange
/trunk/website/auth/user/registraiton
/trunk/website/auth/user/profile
最后两个应用运行得很好。我只是想为我的注册功能添加这个新应用。通过 "emailchange" 应用来更改用户的电子邮件地址,这样当用户更改电子邮件时,我可以发送一个验证链接。
在我的 settings.py 文件中,为了运行或安装这个应用(模型),我添加了:
Insalled_apps= {
'auth.user.emailchange'
}
但是当我添加这个应用并访问我网站的任何页面时,就会出现这个错误信息!
Traceback:
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response
91. request.path_info)
File "/usr/local/lib/python2.6/dist-packages/django/core/urlresolvers.py" in resolve
215. for pattern in self.url_patterns:
File "/usr/local/lib/python2.6/dist-packages/django/core/urlresolvers.py" in _get_url_patterns
244. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/local/lib/python2.6/dist-packages/django/core/urlresolvers.py" in _get_urlconf_module
239. self._urlconf_module = import_module(self.urlconf_name)
File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py" in import_module
35. __import__(name)
File "/workspace/website/trunk/website/urls.py" in <module>
5. admin.autodiscover()
File "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/__init__.py" in autodiscover
24. import_module('%s.admin' % app)
File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py" in import_module
35. __import__(name)
File "/trunk/website/auth/user/emailchange/admin.py" in <module>
33. admin.site.register(cache.get_model('email_change', 'EmailChangeRequest'), EmailChangeRequestAdmin)
File "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/sites.py" in register
76. for model in model_or_iterable:
Exception Type: TypeError at /start/
Exception Value: 'NoneType' object is not iterable
有没有什么想法?为什么我会收到这个信息?
1 个回答
2
这个:
Insalled_apps= {
'auth.user.emailchange'
}
在很多方面都是错的。首先,它不是有效的Python语法(大括号是用来创建字典的,不是列表),其次,它也远远不是在Django的settings.py文件中添加应用的正确方法,正确的写法应该像这样:
INSTALLED_APPS = (
'foos',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
)
所以基本上,先把这些问题修正了再来找我们。哦,对了,你能不能考虑把代码直接复制粘贴到问题里,这样就不会在输入时出错了?