如何在Flask Peewee ORM中设置Postgres用户名和密码?

2 投票
1 回答
2908 浏览
提问于 2025-04-17 21:05

我正在用Python的Flask框架和Peewee ORM,还有PostgreSQL数据库来搭建一个网站。在我的Mac上开发的时候一切都很顺利。现在我把安装转移到了我的Ubuntu 12.04桌面上,想在Linux上做一些测试,但遇到了PostgreSQL的问题。在我的Mac上,postgres服务器似乎不需要用户名和密码(这对开发来说很好,但对生产环境就不太合适了)。而在Ubuntu上,它现在提示

OperationalError: FATAL:  role "kramer65" does not exist

kramer65是我在Ubuntu上的正常用户名,所以很明显postgres并不知道这个用户。我可以用postgres用户登录到psql,但我不知道怎么把它添加到peewee里。我有一个配置文件,其中有:

DATABASE = {
    'name': 'mydb',
    'engine': 'playhouse.postgres_ext.PostgresqlExtDatabase'
}

我尝试添加'password': 'mypassword''username': 'myusername',但它却提示OperationalError: invalid connection option "username"

有没有办法可以把用户名和密码添加到peewee,以便连接到我的PostgreSQL数据库?欢迎任何建议!

1 个回答

2

我之前没听说过peewee,也没用过它,不过你可以看看这个GitHub上的Postgres连接示例。而且peewee好像是用psycopg2来连接Postgres,所以他们的连接选项都应该适用。

你需要用 'user': '你的用户名',而不是 'username': '你的用户名'

撰写回答