Recientemente hice una pregunta con respecto a un error en apache / mod_wsgi al reconocer el directorio de script de Python. La comunidad respondió amablemente la pregunta que resultó en una instalación exitosa. Ahora tengo un error diferente, el demonio del servidor (bueno, técnicamente es un servicio de Windows, digo tomate, dices ...) no encuentra ninguno de los modelos, aquí está el rastreo completo:

Ambiente:

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')

Error de plantilla: En la plantilla c: \ users \ marcos \ documents \ djangotemplates \ polls \ poll _ list.html, error en la línea 1 Se detectó una excepción al procesar: no existe esa tabla: 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

En algún lugar alguien me aconsejó usar manage.py dbshell y el script respondió:
Error: Parece que no tiene el programa 'sqlite3' instalado o en su ruta.

Pero aún así, el servidor de ejecución Django ejecuta la aplicación perfectamente. No veo qué cambió en el entorno para fastidiar tanto la aplicación web. ¡Por favor ayuda!

2
marcoslhc 30 jul. 2009 a las 02:31

4 respuestas

Solo solucioné un problema similar. Creo que debe agregar el nombre de su aplicación a la lista INSTALLED_APPS en settings.py.

0
bsergean 2 oct. 2009 a las 22:19

Pruebe manage.py syncdb para asegurarse de que django pueda conectarse a la base de datos y que todas las tablas estén creadas.

0
Cide 29 jul. 2009 a las 22:34

Resuelvo el problema agregando el directorio binario sqlite3 a la variable de entorno PYTHONPATH.

1
marcoslhc 30 jul. 2009 a las 02:18

Ninguno de estos fue adecuado para mí cuando estaba tratando de ejecutar manage.py dbshell, pero luego es 3 años después, y estoy en 10.7. Agregué mi ruta mysql a mi variable PATH de esta manera:

RUTA = $ RUTA: /usr/local/mysql-5.5.16-osx10.6-x86_64/bin

En realidad, es mejor poner esto en su archivo .profile. Con Mac OS 10.7, probablemente tendrá que crear uno de estos si aún no lo ha hecho. Desde una ventana de Terminal, simplemente ingrese cd, luego presione Intro para volver a su directorio de inicio, luego haga vi .profile para crear el nuevo archivo e inserte:

RUTA de exportación = $ RUTA: /usr/local/mysql-5.5.16-osx10.6-x86_64/bin

Estoy dando muchos detalles aquí para las personas que no saben todo esto, como yo. La próxima vez que inicie sesión, su ruta se establecerá automáticamente. Para configurarlo ahora desde el archivo .profile, simplemente haga:

. ./.perfil

Para verificar su nueva variable PATH, haga esto:

Echo $ RUTA

0
mutatron 14 ene. 2012 a las 23:36