[postgis-users] GeoDjango/PostGIS Database Setup Problems
Jeremy Stratman
jstratm at yahoo.com
Sun Jun 10 11:48:19 PDT 2012
I
have been struggling now for about two days to get a
GeoDjango/PostGIS project started. Sorry to say, I am fairly new to
both Django and Linux, but I will do my best to explain what I have
tried thus far. I am using Bitnami's DjangoStack 1.4, by the way.
I
am following https://docs.djangoproject.com/en/1.4/ref/contrib/gis/tutorial/ My steps:
-Installed
DjangoStack on Ubunutu 12.4 via the GUI, with all 3 DBs, no initial
project set up
-Open
up and exclusively work from “use_djangostack” terminal
-followed
the link for “spatial database template” to https://docs.djangoproject.com/en/1.4/ref/contrib/gis/install/#spatialdb-template,
followed directions there:
-was NOT able to execute the command “$ sudo su – postgres”
(“unknown id”) to switch to being a “privileged database user,” BUT I could still (mostly) successfully execute:
$
POSTGIS_SQL_PATH=/home/jstratman/djangostack-1.4-1/postgresql/share/contrib/postgis- 2.0
$ createdb -E UTF8 template_postgis
$ createlang -d template_postgis plpgsql # Adding PLPGSQL language support. (^this command was unsuccessful, stating it already had this language support)
$ psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';"
$ psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql
$ psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql
$ psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;"
$ psql -d template_postgis -c "GRANT ALL ON geography_columns TO PUBLIC;"
$ psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"
-Moved back to main tutorial page, executed:
$ createdb -T template_postgis mysitedatabase
$ sudo su – postgres (tried again, NOT SUCCESSFUL! “unknown id”)
$ createuser --createdb mysiteuser
$ django-admin.py startproject mysite (I stayed in the main directory, did not create this in “Apps>Django>Django_Projects”)
$ cd mysite
$ python manage.py startapp world
-I then set up the settings.py:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'mysitedatabase',
'USER': 'mysiteuser', } }
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.gis',
'world' )
-I did try adding 'PASSWORD' to the settings.py on my second try but that made no difference once I got to the syncdb (see below)
-Installed world borders shp files in world/data
-Used both ogrinfo commands and got proper results
-exactly copied and pasted into world/models.py from the “Defining a Geographic Model” section, to include the very top line of “from django.contrib.gis.db import models “
The Error:
-Attempted to run “$ python manage.py sqlall world” but got:
----------------------------------------------------------------------
Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line utility.execute() File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command klass = load_command_class(app_name, subcommand) File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/core/management/__init__.py", line 69, in load_command_class module = import_module('%s.management.commands.%s' % (app_name, name)) File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/core/management/commands/sqlall.py", line 4, in <module> from django.core.management.sql import sql_all File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/core/management/sql.py", line 6, in <module> from django.db import models File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/db/__init__.py", line 40, in <module> backend = load_backend(connection.settings_dict['ENGINE']) File "/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) File "/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/db/utils.py", line 92, in __getitem__ backend = load_backend(db['ENGINE']) File "/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/db/utils.py", line 24, in load_backend return import_module('.base', backend_name) File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/contrib/gis/db/backends/postgis/base.py", line 5, in <module> from django.contrib.gis.db.backends.postgis.operations import PostGISOperations File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/contrib/gis/db/backends/postgis/operations.py", line 8, in <module> from django.contrib.gis.geometry.backend import Geometry File
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/contrib/gis/geometry/backend/__init__.py", line 14, in <module> '"%s".' % geom_backend) django.core.exceptions.ImproperlyConfigured: Could not import user-defined GEOMETRY_BACKEND "geos".
----------------------------------------------------------------------
Sorry this is so long, but I wanted full disclosure
to perhaps highlight simple, new user errors. Any ideas as to why it
can't utilize the geos backend or whatever the problem is?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20120610/4c9cb5f5/attachment.html>
More information about the postgis-users
mailing list