<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt">

<div><font><font>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.</font></font><font><font>  I am using Bitnami's DjangoStack 1.4, by the way.  </font></font>
</div>
<div><br>
</div>
<div><font><font>I
am following
<a href="https://docs.djangoproject.com/en/1.4/ref/contrib/gis/tutorial/">https://docs.djangoproject.com/en/1.4/ref/contrib/gis/tutorial/</a>
 My steps:</font></font></div>
<div><br>
</div>
<div><font><font>-Installed
DjangoStack on Ubunutu 12.4 via the GUI, with all 3 DBs, no initial
project set up</font></font></div>
<div><font><font>-Open
up and exclusively work from “use_djangostack” terminal</font></font></div>
<div><font><font>-followed
the link for “spatial database template” to
<a href="https://docs.djangoproject.com/en/1.4/ref/contrib/gis/install/#spatialdb-template">https://docs.djangoproject.com/en/1.4/ref/contrib/gis/install/#spatialdb-template</a>,
followed directions there:</font></font></div>
<div><font><font>    -was
<b>NOT</b> able to execute the command “$ sudo su – postgres”
(“unknown id”) to switch to being a “privileged database user,”
<b>BUT </b>I could still (mostly) successfully execute:<br></font></font></div>

 $
POSTGIS_SQL_PATH=/home/jstratman/djangostack-1.4-1/postgresql/share/contrib/postgis-    2.0
<font><font><br>   $ createdb -E UTF8 template_postgis</font></font><br>
<font><font>   $ createlang -d template_postgis plpgsql # Adding PLPGSQL language support.</font></font>
<font><font>   <b>(^this command was unsuccessful, stating it already had this language support)</b></font></font>
<font><font>   <br>$ psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE    datname='template_postgis';"</font></font>
<font><font>   <br>$ psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql</font></font>
<font><font>   <br>$ psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql</font></font>
<font><font>   <br>$ psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;"</font></font>
<font><font>   <br>$ psql -d template_postgis -c "GRANT ALL ON geography_columns TO PUBLIC;"</font></font>
<font><font>   <br>$ psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"</font></font>
<font><font><br><br>-Moved back to main tutorial page, executed:<br></font></font>
<font><font>   $ createdb -T template_postgis mysitedatabase</font></font><br>
<font><font>   $ sudo su – postgres <b>(tried again, NOT SUCCESSFUL! “unknown id”)</b></font></font>
<font><font>   <br>$ createuser --createdb mysiteuser</font></font>
<font><font>   <br>$ <a href="http://django-admin.py">django-admin.py</a> startproject mysite <b>(I stayed in the main directory, did not create this in “Apps>Django>Django_Projects”)</b></font></font>
<font><font><b>    </b><span><br>$ cd mysite</span></font></font>
<font><font><br>   $ python <a href="http://manage.py">manage.py</a> startapp world</font></font>
<font><font><br>-I then set up the <a href="http://settings.py">settings.py</a>:</font></font>
<font><font><br>   DATABASES = {</font></font>
    <font><font><br>'default': {</font></font>
         <font><font><br>'ENGINE': 'django.contrib.gis.db.backends.postgis',</font></font>
         <font><font><br>'NAME': 'mysitedatabase',</font></font>
         <font><font><br>'USER': 'mysiteuser',</font></font>
     <font><font>}</font></font>
<font><font>}</font></font>
<font><font><br><br>INSTALLED_APPS = (</font></font>
    <font><font><br>'django.contrib.auth',</font></font>
    <font><font><br>'django.contrib.contenttypes',</font></font>
    <font><font><br>'django.contrib.sessions',</font></font>
    <font><font><br>'django.contrib.sites',</font></font>
    <font><font><br>'django.contrib.messages',</font></font>
    <font><font><br>'django.contrib.staticfiles',</font></font>
    <font><font><br>'django.contrib.admin',</font></font>
    <font><font><br>'django.contrib.gis',</font></font>
    <font><font><br>'world'</font></font>
<font><font>)</font></font>
<font><font><br><br>-I did try adding 'PASSWORD' to the <a href="http://settings.py">settings.py</a> on my second try but that made no difference once I got to the syncdb (see below)</font></font>
<font><font><br>-Installed world borders shp files in world/data</font></font>
<font><font><br>-Used both ogrinfo commands and got proper results</font></font>
<font><font><br>-exactly copied and pasted into world/<a href="http://models.py">models.py</a> from the “Defining a Geographic Model” section, to include the very top line of “from django.contrib.gis.db import models</font></font>

<font><font><br><br>The Error:</font></font>
<font><font><br>-Attempted to run “$ python <a href="http://manage.py">manage.py</a> sqlall world” but got:</font></font>
<font><font><br>----------------------------------------------------------------------<br></font></font>
<font><font>Traceback (most recent call last):
</font></font>
  <font><font>File "manage.py", line 10, in <module>
</font></font>
    <font><font>execute_from_command_line(sys.argv)
</font></font>
  <font><font>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
</font></font>
    <font><font>utility.execute()
</font></font>
  <font><font>File 
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/core/management/__init__.py",
 line 382, in execute
</font></font>
    <font><font>self.fetch_command(subcommand).run_from_argv(self.argv)
</font></font>
  <font><font>File 
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/core/management/__init__.py",
 line 261, in fetch_command
</font></font>
    <font><font>klass = load_command_class(app_name, subcommand)
</font></font>
  <font><font>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
</font></font>
    <font><font>module = import_module('%s.management.commands.%s' % (app_name, name))
</font></font>
  <font><font>File 
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/utils/importlib.py",
 line 35, in import_module
</font></font>
    <font><font>__import__(name)
</font></font>
  <font><font>File 
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/core/management/commands/sqlall.py",
 line 4, in <module>
</font></font>
    <font><font>from django.core.management.sql import sql_all
</font></font>
  <font><font>File 
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/core/management/sql.py",
 line 6, in <module>
</font></font>
    <font><font>from django.db import models
</font></font>
  <font><font>File 
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/db/__init__.py",
 line 40, in <module>
</font></font>
    <font><font>backend = load_backend(connection.settings_dict['ENGINE'])
</font></font>
  <font><font>File "/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
</font></font>
    <font><font>return getattr(connections[DEFAULT_DB_ALIAS], item)
</font></font>
  <font><font>File "/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/db/utils.py", line 92, in __getitem__
</font></font>
    <font><font>backend = load_backend(db['ENGINE'])
</font></font>
  <font><font>File "/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/db/utils.py", line 24, in load_backend
</font></font>
    <font><font>return import_module('.base', backend_name)
</font></font>
  <font><font>File 
"/home/jstratman/djangostack-1.4-1/apps/django/lib/python2.7/site-packages/django/utils/importlib.py",
 line 35, in import_module
</font></font>
    <font><font>__import__(name)
</font></font>
  <font><font>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>
</font></font>
    <font><font>from django.contrib.gis.db.backends.postgis.operations import PostGISOperations
</font></font>
  <font><font>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>
</font></font>
    <font><font>from django.contrib.gis.geometry.backend import Geometry
</font></font>
  <font><font>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>
</font></font>
    <font><font>'"%s".' % geom_backend)
</font></font>
<font><font>django.core.exceptions.ImproperlyConfigured: Could not import user-defined GEOMETRY_BACKEND "geos".
</font></font>
<font><font><br>----------------------------------------------------------------------</font></font>

<font><font><br><br>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?  </font></font>

<font><font><br></font></font></div></body></html>