views:

652

answers:

4

Recently i asked a question regarding an error in apache/mod_wsgi recognizing the python script directory. The community kindly answered the question resulting in a successful installation. Now I have a different error, the server daemon (well, technically is a windows service, I say tomato you say...) doesn't find any of the models, here's the full traceback:

Environment:

Request Method: GET
Request URL: `http://localhost/polls/`
Django Version: 1.0.2 final
Python Version: 2.6.2
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.admin',
 'mysite.polls']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware')

Template error: In template c:\users\marcos\documents\djangotemplates\polls\poll_list.html, error at line 1 Caught an exception while rendering: no such table: polls_poll

       1 :  {% if object_list %}   
       2 :     <ul>  
       3 :     {% for poll in object_list %}  
       4 :          <li> <a href="{{poll.id}}/">{{ poll.question }} </a> </li>  
       5 :     {% endfor %}  
       6 :     </ul>  
       7 : {% else %}  
       8 :     <p>No polls are available.</p>  
       9 : {% endif %}  
       10 :   

Traceback:

    File "C:\Python26\lib\site-packages\django\core\handlers\base.py" in get_response
      86.                 response = callback(request, *callback_args, **callback_kwargs)
    File "C:\Python26\lib\site-packages\django\views\generic\list_detail.py" in object_list
          101.     return HttpResponse(t.render(c), mimetype=mimetype)
    File "C:\Python26\lib\site-packages\django\template\__init__.py" in render
          176.         return self.nodelist.render(context)
    File "C:\Python26\lib\site-packages\django\template\__init__.py" in render
          768.                 bits.append(self.render_node(node, context))
    File "C:\Python26\lib\site-packages\django\template\debug.py" in render_node
          81.             raise wrapped
Exception Type: TemplateSyntaxError at /polls/
Exception Value: Caught an exception while rendering: no such table: polls_poll

somewhere someone advice me to use manage.py dbshell and the script responded:
Error: You appear not to have the 'sqlite3' program installed or on your path.

But still the Django runserver runs the app perfectly. I don't see what changed in the environment to screw the web-app so hard. Please help!

A: 

Try manage.py syncdb to make sure that django can connect to the database and that all the tables are created.

Cide
Already done so, nothing happen. I assumed the script didn't find any errors
Marcoslhc
+2  A: 

You don't have a database. It's not clear why you don't have a sqlite3 driver. However, you don't have sqlite3 and you don't have a database.

  1. Run manage.py syncdb build the database.

    • Be sure to use the same settings.py as your production instance.

    • Be sure your settings.py has the correct driver. You're using SQLite3, be sure that an absolute path name is used.

    • Be sure to use the same PYTHONPATH and working directory as production to be sure that all modules are actually found

  2. Run ordinary SQL to see that you actually built the database.

  3. Run the Django /admin application to see what's in the database.

SQLite3 is included with Python. For it to be missing, your Python installation must be damaged or incomplete. Reinstall from scratch.

S.Lott
A: 

I solve the problem adding the sqlite3 binaries directory to the PYTHONPATH environment variable.

Marcoslhc
A: 

Just fixed a problem similar. I think you have to add your app name to the INSTALLED_APPS list in settings.py.

bsergean