Django在Apache / mod上运行时出错

最近我问了一个关于apache / mod_wsgi中的错误的问题,它可以识别python脚本目录。 社区很好地回答了导致安装成功的问题。 现在我有一个不同的错误,服务器守护进程(嗯,技术上是一个Windows服务,我说番茄你说...)没有找到任何模型,这里是完整的追溯:

环境:

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

模板错误:在模板c: users marcos documents djangotemplates polls poll _ list.html中,第1行出错在呈现时捕获异常: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 :   

追溯:

    File "C:Python26libsite-packagesdjangocorehandlersbase.py" in get_response
      86.                 response = callback(request, *callback_args, **callback_kwargs)
    File "C:Python26libsite-packagesdjangoviewsgenericlist_detail.py" in object_list
          101.     return HttpResponse(t.render(c), mimetype=mimetype)
    File "C:Python26libsite-packagesdjangotemplate__init__.py" in render
          176.         return self.nodelist.render(context)
    File "C:Python26libsite-packagesdjangotemplate__init__.py" in render
          768.                 bits.append(self.render_node(node, context))
    File "C:Python26libsite-packagesdjangotemplatedebug.py" in render_node
          81.             raise wrapped
Exception Type: TemplateSyntaxError at /polls/
Exception Value: Caught an exception while rendering: no such table: polls_poll

某处有人建议我使用manage.py dbshel​​l ,并且脚本回应:
错误:您似乎没有安装“sqlite3”程序或您的路径。

但Django runserver仍能完美运行该应用程序。 我没有看到环境中发生了什么变化,以至于很难将网络应用程序搞砸。 请帮忙!


你没有数据库。 目前还不清楚为什么你没有sqlite3驱动。 但是,您没有sqlite3,并且没有数据库。

  • 运行manage.py syncdb构建数据库。

  • 一定要使用与生产实例相同的settings.py

  • 确保你的settings.py具有正确的驱动程序。 您正在使用SQLite3,请确保使用绝对路径名称。

  • 确保使用与生产相同的PYTHONPATH和工作目录来确保所有模块都能找到

  • 运行普通的SQL来查看你实际构建了数据库。

  • 运行Django /admin应用程序以查看数据库中的内容。

  • SQLite3包含在Python中。 为了避免丢失,您的Python安装必须被破坏或不完整。 从头开始重新安装。


    我解决了将sqlite3二进制文件目录添加到PYTHONPATH环境变量的问题。


    尝试manage.py syncdb以确保django可以连接到数据库并且所有表都已创建。

    链接地址: http://www.djcxy.com/p/40559.html

    上一篇: Error in Django running on Apache/mod

    下一篇: Check if a file that's not locked is open