【发布时间】:2019-07-30 07:13:36
【问题描述】:
我正在尝试按照本书的建议使用 geodjango 和 postgis 创建一个地理空间数据库:Python Geospatial development, 3rd Edition of Erik Westra,为了做到这一点,我正在尝试配置我的 django 数据库并连接它到我的 PostgreSQL 数据库。
启动 PostgreSQL 数据库后,我创建了 django 项目和 django 应用程序。从那时起,我想将makemigrations 命令应用于我的shared 应用程序:
python manage.py makemigrations shared
但后来我出现了以下错误:
File "C:\Users\[...]\Anaconda3\lib\site-packages\psycopg2\__init__.py", line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError
我什至尝试使用 showmigrations 检查迁移,但它会发出相同的错误消息,所以我完全不知道发生了什么。
这是我的settings.py 文件:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'shapeeditor',
'USER': 'shapeeditor',
'PASSWORD': '(password)',
}
}
我已经输入(密码)来隐藏真实的密码,但我已经检查过它是正确的密码。
NAME 对应的数据库名称与 USER 同名
shared 应用程序是用INSTALLED_APPS 编写的,所以我检查过我没有忘记它。
我查看了 StackOverflow 中关于我遇到的错误的许多帖子,但它与我在这里所面临的不相符
【问题讨论】:
-
您确定您的 postgres 已启动并正在运行吗?您可以使用其他方式连接到它吗,例如命令行中的
psql? -
我愿意,我可以与
psql -U postgres shapeeditor连接,而且它似乎可以工作,我有一个命令行来执行类似shapeeditor=#的查询 -
我唯一能建议的就是添加
HOST和PORT设置。 -
是的,我也尝试过,但它并没有增加迁移问题,我刚刚发现我的用户
shapeeditor存在特权问题...谢谢您时间!
标签: django python-3.x postgresql postgis geodjango