2012-03-06 268 views
2

我正在测试django-userena演示项目。我已经安装了sendmail。为什么我看到这个错误

我看到这个错误,当我注册:

Environment: 


Request Method: POST 
Request URL: http://127.0.0.1:8000/accounts/signup/ 

Django Version: 1.3.1 
Python Version: 2.7.2 
Installed Applications: 
['django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.admin', 
'easy_thumbnails', 
'guardian', 
'south', 
'userena', 
'userena.contrib.umessages', 
'demo_project.profiles'] 
Installed Middleware: 
('django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.locale.LocaleMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'userena.middleware.UserenaLocaleMiddleware') 


Traceback: 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 
    111.       response = callback(request, *callback_args, **callback_kwargs) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/userena/decorators.py" in _wrapped_view 
    28.   return view_func(request, *args, **kwargs) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/userena/views.py" in signup 
    69.   if form.is_valid(): 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/forms/forms.py" in is_valid 
    121.   return self.is_bound and not bool(self.errors) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/forms/forms.py" in _get_errors 
    112.    self.full_clean() 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/forms/forms.py" in full_clean 
    267.   self._clean_fields() 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/forms/forms.py" in _clean_fields 
    287.      value = getattr(self, 'clean_%s' % name)() 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/userena/forms.py" in clean_username 
    49.    user = User.objects.get(username__iexact=self.cleaned_data['username']) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/manager.py" in get 
    132.   return self.get_query_set().get(*args, **kwargs) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/query.py" in get 
    344.   num = len(clone) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/query.py" in __len__ 
    82.     self._result_cache = list(self.iterator()) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/query.py" in iterator 
    273.   for row in compiler.results_iter(): 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in results_iter 
    680.   for rows in self.execute_sql(MULTI): 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql 
    735.   cursor.execute(sql, params) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/backends/util.py" in execute 
    34.    return self.cursor.execute(sql, params) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py" in execute 
    86.    return self.cursor.execute(query, args) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/MySQLdb/cursors.py" in execute 
    174.    self.errorhandler(self, exc, value) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/MySQLdb/connections.py" in defaulterrorhandler 
    36.  raise errorclass, errorvalue 

Exception Type: DatabaseError at /accounts/signup/ 
Exception Value: (1146, "Table 'demo_project.auth_user' doesn't exist") 

编辑

抱歉,我不能较早的更新这个问题,我是这么忙,当我运行执行syncdb,我看到这个错误

Environment: 


Request Method: POST 
Request URL: http://127.0.0.1:8000/accounts/signup/ 

Django Version: 1.3.1 
Python Version: 2.7.2 
Installed Applications: 
['django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.admin', 
'easy_thumbnails', 
'guardian', 
'south', 
'userena', 
'userena.contrib.umessages', 
'demo_project.profiles'] 
Installed Middleware: 
('django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.locale.LocaleMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'userena.middleware.UserenaLocaleMiddleware') 


Traceback: 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 
    111.       response = callback(request, *callback_args, **callback_kwargs) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/userena/decorators.py" in _wrapped_view 
    28.   return view_func(request, *args, **kwargs) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/userena/views.py" in signup 
    70.    user = form.save() 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/userena/forms.py" in save 
    86.              userena_settings.USERENA_ACTIVATION_REQUIRED) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/userena/managers.py" in create_user 
    62.   userena_profile = self.create_userena_profile(new_user) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/userena/managers.py" in create_userena_profile 
    104.       activation_key=activation_key) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/manager.py" in create 
    138.   return self.get_query_set().create(**kwargs) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/query.py" in create 
    360.   obj.save(force_insert=True, using=self.db) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/base.py" in save 
    460.   self.save_base(using=using, force_insert=force_insert, force_update=force_update) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/base.py" in save_base 
    553.      result = manager._insert(values, return_id=update_pk, using=using) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/manager.py" in _insert 
    195.   return insert_query(self.model, values, **kwargs) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/query.py" in insert_query 
    1436.  return query.get_compiler(using=using).execute_sql(return_id) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql 
    791.   cursor = super(SQLInsertCompiler, self).execute_sql(None) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql 
    735.   cursor.execute(sql, params) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/backends/util.py" in execute 
    34.    return self.cursor.execute(sql, params) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py" in execute 
    86.    return self.cursor.execute(query, args) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/MySQLdb/cursors.py" in execute 
    174.    self.errorhandler(self, exc, value) 
File "/home/elie/.django-projects/showpill/local/lib/python2.7/site-packages/MySQLdb/connections.py" in defaulterrorhandler 
    36.  raise errorclass, errorvalue 

Exception Type: DatabaseError at /accounts/signup/ 
Exception Value: (1146, "Table 'demo_project.userena_userenasignup' doesn't exist") 

第二编辑

这是syncdb

Syncing... 
Creating tables ... 
Installing custom SQL ... 
Installing indexes ... 
No fixtures found. 

Synced: 
> django.contrib.auth 
> django.contrib.contenttypes 
> django.contrib.sessions 
> django.contrib.sites 
> django.contrib.messages 
> django.contrib.admin 
> south 
> demo_project.profiles 

Not synced (use migrations): 
- easy_thumbnails 
- guardian 
- userena 
- userena.contrib.umessages 
(use ./manage.py migrate to migrate these) 

输出这是./manage.py migrate

Running migrations for easy_thumbnails: 
- Nothing to migrate. 
- Loading initial data for easy_thumbnails. 
No fixtures found. 
Running migrations for guardian: 
- Nothing to migrate. 
- Loading initial data for guardian. 
No fixtures found. 
Running migrations for userena: 
- Nothing to migrate. 
- Loading initial data for userena. 
No fixtures found. 
Running migrations for umessages: 
- Nothing to migrate. 
- Loading initial data for umessages. 
No fixtures found. 

输出请注意,eventhough我看到错误,用户名和电子邮件被保存在数据库中。

如果我登录,它说:your account has been disabled

,如果我尝试重置密码,它说

That e-mail address doesn't have an associated user account. Are you sure you've registered?

+0

@Mat对不起,先生,你是对的,我只是认为这个错误很大,所以我尽量保持尽可能短的问题,但你是对的,我会从现在开始做 – user 2012-03-06 10:54:18

回答

3

我认为你需要删除你的数据库。然后在新鲜的数据库上再次执行manage.py syncdbmanage.py migrate。当你运行manage.py migrate它不应该给你你发布的输出。您的输出不会更改或创建任何表格,这可能是问题。也许你需要的表格尚未创建。

  1. This is what the output should look like after a manage.py syncdb.
  2. This is what the output should look like after a manage.py migrate.

你应该有21个表格用于提供userena的demo_project。


对于一般帮助的步骤来获得这个项目的工作应该是。

  1. 创建虚拟环境,并pip install django-userena
  2. 拉出附带userena
  3. 激活virtualenv中,cd到项目目录的demo_project,做你的manage.py syncdbmanage.py migrate
  4. 运行该项目

我已经完成了这个,现在可以确认t如果完成这些步骤,则demo_project将起作用。

*请记住,如果您在/accounts/signup/页面上注册用户。该用户默认情况下将无法登录/admin/。除非您在管理员中给他一个配置文件,否则您的超级用户将无法访问/accounts/(profile)/下的个人资料。

+0

所以看到[this](http://pastebin.com/KjJBgrb9)错误是正常的? – user 2012-03-09 00:46:33

+0

不,这不正常。你应该没有任何错误。什么时候发生错误?当您尝试注册新用户时会发生吗? – darren 2012-03-09 08:09:43

+0

是的,在注册之后,'syncdb'和'migrate'的输出就像你描述的那样是可执行的 – user 2012-03-09 10:20:31

5

你需要运行执行syncdb:manage.py syncdb

你已经计算出你还需要使用各种南方的命令。

现在有两个问题出现:你是否仍然在跑南(我假设你是)后出现这些错误;其次,错误消息(Exception Value: (1146, "Table 'demo_project.userena_userenasignup' doesn't exist"))中指定的表是否确实存在?检查数据库以确定表是否存在,如果存在,是否存在于正确的数据库中。

+0

请阅读我的编辑坐在 – user 2012-03-07 09:26:03

+0

@user:当你运行syncdb时你没有得到那个错误。 – Marcin 2012-03-07 12:18:19

+0

我得到了第一个错误,因为我没有运行syncdb,但运行syncdb后出现第二个错误 – user 2012-03-07 18:31:19

相关问题