回溯的含义是什么?

0 投票
1 回答
2545 浏览
提问于 2025-04-16 10:23

我正在使用 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',
 )

所以基本上,先把这些问题修正了再来找我们。哦,对了,你能不能考虑把代码直接复制粘贴到问题里,这样就不会在输入时出错了?

撰写回答