gpt4 book ai didi

python - 为什么它抛出`GeoDjango Postgis 要求不满足在运行迁移时出现错误?

转载 作者:行者123 更新时间:2023-11-29 13:41:13 25 4
gpt4 key购买 nike

我正在将 Postgresql 数据库与 django 一起使用,并且已经在其上安装了 PostGis

CREATE EXTENSION postgis;

gdalproj.4geos 已经安装在contrib.gis django 包 中。作为documentation说它们应该在安装 PostGis 之前安装。这是否意味着它们应该安装在 Postgresql 数据库或其他数据库上。

1)我是否也需要在 postgresql 数据库上安装它们?

到目前为止我已经包含在settings.py

INSTALLED_APPS = [
.
.
'django.contrib.gis',
]

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': '......',
'USER' : '.........',
'PASSWORD': '........',
'HOSTNAME': 'localhost',
'PORT': '5432',
},
}

但是当我将其包含在 models.py 中时。

 from django.contrib.gis.db import models as geomodels

2) 我尝试运行迁移时出现此错误:

 django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (tried "gdal202", "gdal201", "gdal20", "gdal111", "gdal110", "gdal19"). Is GDAL in

停滞不前?如果是,请尝试在您的设置中设置 GDAL_LIBRARY_PATH。

我不确定我应该修复什么来运行迁移,如果这个错误与数据库或 django 相关

3)是否需要在 django 和 postgresql 上安装 GdalGeosproj

最佳答案

您需要按照文档按照以下步骤在您的项目中设置后期 GIS:

  1. 安装 GEOS , PROJ.4GDAL在为项目安装 PostGIS 扩展之前,在安装了 postgres 的计算机上。安装文档已包含在链接中。您可以从 here 查看 PostGIS 安装要求.

  2. 创建空间数据库。安装上述要求后创建 PostGIS 扩展。您可以通过在您的 postgres shell 中执行以下代码来完成此操作

    > CREATE EXTENSION postgis;

    或者您可以将以下迁移添加到您的项目

    from django.contrib.postgres.operations import CreateExtension
    from django.db import migrations

    class Migration(migrations.Migration):

    operations = [
    CreateExtension('postgis'),
    ...
    ]

    Visit here for more information

  3. 之后,您可以将以下内容添加到您的 settings.py

    DATABASES = {
    'default': {
    'ENGINE': 'django.contrib.gis.db.backends.postgis',
    'NAME': 'geodjango',
    'USER': 'geo',
    },
    }

    INSTALLED_APPS = [
    ..
    ..
    'django.contrib.admin',
    'django.contrib.gis',
    ..
    ..

    ]

完成这些步骤后,您就可以使用 django PostGIS 了。有关安装 PostGIS 的更多信息,请访问 https://docs.djangoproject.com/en/2.1/ref/contrib/gis/tutorial/#setting-up

关于python - 为什么它抛出`GeoDjango Postgis 要求不满足在运行迁移时出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55084293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com