Linux / django / python / postgres 安装仍是新的。
我已经安装了最新的 kubuntu 11.04,安装了 postgres 和 django 包。我在 postgres 中创建了一个 django_login,并带有一个数据库 django_db,供 django 使用。
当我在数据库中创建基本 Django 框架时,遇到了一些麻烦。如果我输入
sudo -u django_login python manage.py syncdb
但当我不使用时它不起作用sudo -u django_login
。但是,我的帐户是 postgres 中的超级管理员,并且我创建了一个系统帐户 django_login,我的帐户是该组的一部分。
我错过了什么?
答案1
您忘记了在 PostgreSQL 中创建帐户以供系统帐户使用(ident
)。如果您希望帐户通过 PostgreSQL 客户端库使用用户名和密码,则需要使用其他方法之一身份验证方法。
答案2
让 django 登录 Postgresql 数据库的更简单方法是使用密码。打开 pg_hba.conf 文件 (/etc/postgresql/8.4/main/pg_hba.conf)。将以下行
local all all ident
到
local all all md5
现在 Postgresql 将让 django 使用用户名和密码登录,而不需要 Unix 内置 ident 系统。
答案3
尝试在 settings.py 文件中指定 127.0.0.1 作为数据库主机。这样 django 就会使用不同的身份验证方法。