Django数据库连接错误

Jae*_*Jae 7 django postgresql

我从"python manage.py shell"运行这些行:

from django.db import connection
cursor = connection.cursor()
Run Code Online (Sandbox Code Playgroud)

但得到以下错误:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 306, in cursor
    cursor = self.make_debug_cursor(self._cursor())
  File "/usr/local/lib/python2.7/dist-packages/django/db/backends/postgresql_psycopg2/base.py", line 177, in _cursor
    self.connection = Database.connect(**conn_params)
  File "/usr/lib/python2.7/dist-packages/psycopg2/__init__.py", line 179, in connect
    connection_factory=connection_factory, async=async)
OperationalError: FATAL:  role "jay" does not exist
Run Code Online (Sandbox Code Playgroud)

在settings.py我有

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', 
        'NAME': 'mysite',                     
        'USER': '',                     
        'PASSWORD': '',                  
        'HOST': '',                      
        'PORT': '',                     
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?我安装了postgresql和适配器

Cra*_*ger 10

致命:角色"周杰伦"不存在

由于USER它是空白的,它使用的是您的本地用户名(jay),并且您没有使用该名称创建PostgreSQL用户.

尝试:

psql -u postgres createuser -P jay
Run Code Online (Sandbox Code Playgroud)

您可能必须将您在提示符下输入的密码放入settings.py,除非您pg_hba.conf使用的ident是auth方法.

  • @jcomeau_ictx你永远不需要`sudo su -`.永远.请改用"sudo -u postgres".同样的事情,不需要凌乱的引用. (2认同)