[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