2011-05-25 59 views
2

我正在運行Django並嘗試創建超級用戶,但每當我嘗試執行passwd或createsuperuser命令時都會收到以下錯誤。我在PostgreSQL數據庫上使用Django 1.3。爲Django用戶設置密碼

$ python manage.py createsuperuser 
... 
Traceback (most recent call last): 
    File "manage.py", line 19, in <module> 
    execute_manager(settings) 
    File "/home/stephen/.virtualenvs/s/lib/python2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager 
    utility.execute() 
    File "/home/stephen/.virtualenvs/s/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/home/stephen/.virtualenvs/s/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/home/stephen/.virtualenvs/s/lib/python2.7/site-packages/django/core/management/base.py", line 229, in execute 
    self.stdout.write(output) 
TypeError: expected a character buffer object 

如果我嘗試passwd文件,我得到了無用的堆棧跟蹤:

File "/var/www/envs/s/lib/python2.7/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 134, in handle 
    User.objects.create_superuser(username, email, password) 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/contrib/auth/models.py", line 140, in create_superuser 
    u = self.create_user(username, email, password) 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/contrib/auth/models.py", line 136, in create_user 
    user.save(using=self._db) 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/base.py", line 460, in save 
    self.save_base(using=using, force_insert=force_insert, force_update=force_update) 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/base.py", line 570, in save_base 
    created=(not record_exists), raw=raw, using=using) 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 172, in send 
    response = receiver(signal=self, sender=sender, **named) 
    File "/var/www/spurfly/master/apps/member/models.py", line 751, in create_profile 
    profile, new = UserProfile.objects.get_or_create(user=instance) 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/manager.py", line 135, in get_or_create 
    return self.get_query_set().get_or_create(**kwargs) 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/query.py", line 378, in get_or_create 
    return self.get(**lookup), False 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/query.py", line 344, in get 
    num = len(clone) 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/query.py", line 82, in __len__ 
    self._result_cache = list(self.iterator()) 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/query.py", line 273, in iterator 
    for row in compiler.results_iter(): 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 680, in results_iter 
    for rows in self.execute_sql(MULTI): 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 735, in execute_sql 
    cursor.execute(sql, params) 
    File "/var/www/envs/s/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 44, in execute 
    return self.cursor.execute(query, args) 
django.db.utils.DatabaseError: current transaction is aborted, commands ignored until end of transaction block 

這是我的virtualenv。

$ pip freeze    
Django==1.3 
wsgiref==0.1.2 
mimeparse==0.1.3 

任何想法?謝謝!

+0

方式[我看到它(https://docs.djangoproject.com/en/1.3/ref/django-admin/# createsuperuser),你必須把它叫做「python manage.py createsuperuser」或者像這樣的「python manage.py createsuperuser --username admin」。假設你已經啓用了'django.contrib.auth'。 – 2011-05-25 21:15:53

+0

對不起,只是我的一個錯字。我正在使用'manage.py createsuperuser',該命令提示我輸入用戶名和密碼,但未能設置它們。 – 2011-05-25 21:18:09

回答

2

您提供了錯誤的參數。你應該嘗試:

python manage.py createsuperuser --username=admin [email protected] 

另外:

https://docs.djangoproject.com/en/1.3/topics/auth/

+0

嘗試使用這些參數,它會提示我輸入用戶「admin」的密碼,然後引發上面提到的TypeError。 – 2011-05-25 21:34:34

+0

那麼,你爲什麼輸入了密碼? – Hgeg 2011-05-25 21:50:56

+0

'test123',現在 – 2011-05-25 22:00:58