问题 从Eclipse运行django服务器时没有这样的表错误


我正在使用Django开发一个网站。当我通过命令提示符运行服务器时,如下所示:

python manage.py runserver

它运行正常,但当我从Eclipse(右键单击项目 - > Run As...  - > django project,我收到以下错误:

/的DatabaseError /
  没有这样的表:django_session
  请求方法:GET
  请求网址: HTTP://本地主机:8000 /
  Django版本:1.3
  异常类型:DatabaseError
  例外价值:
  没有这样的表:django_session

关于什么可能导致这种情况的任何想法?我不是那么精通django所以我不知道哪个文件可能导致这个 - 如果你需要我发帖,请在评论中询问。


9434
2018-05-27 20:02


起源



答案:


可能Eclipse / PyDev无法找到数据库。假设您使用sqlite3数据库,请在DATABASES设置中使用完整路径。通过控制台测试它,然后在Eclipse中测试它。这应该工作;-)

编辑: 正如光电离化所示,最好的方法是将这些行放在settings.py中

import os
PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))

然后到

SQLITE_3 = os.path.join(PROJECT_PATH, 'YOUR DATABASE.DB')

SQLITE_3现在是您的django项目所在的sqlite3数据库的完整路径。


11
2018-05-27 20:25



我正和其他人一起开发(使用SVN)。使用完整路径不允许它们正常工作,不是吗? - Amir Rachum
我提出了一些简单的技巧来指定像绝对路径这样的东西 PROJECT_HOME=os.path.abspath(os.path.dirname(__file__)) 并且,在db设置哈希下 'NAME': os.path.join(PROJECT_HOME,'database.db'), 在我使用的几乎所有基于sqlite的Django项目的settings.py文件中...指定一个绝对文件路径(跨平台),基于您的settings.py所在的目录...最简单的方式做所有IMO .. 。 - photoionized


答案:


可能Eclipse / PyDev无法找到数据库。假设您使用sqlite3数据库,请在DATABASES设置中使用完整路径。通过控制台测试它,然后在Eclipse中测试它。这应该工作;-)

编辑: 正如光电离化所示,最好的方法是将这些行放在settings.py中

import os
PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))

然后到

SQLITE_3 = os.path.join(PROJECT_PATH, 'YOUR DATABASE.DB')

SQLITE_3现在是您的django项目所在的sqlite3数据库的完整路径。


11
2018-05-27 20:25



我正和其他人一起开发(使用SVN)。使用完整路径不允许它们正常工作,不是吗? - Amir Rachum
我提出了一些简单的技巧来指定像绝对路径这样的东西 PROJECT_HOME=os.path.abspath(os.path.dirname(__file__)) 并且,在db设置哈希下 'NAME': os.path.join(PROJECT_HOME,'database.db'), 在我使用的几乎所有基于sqlite的Django项目的settings.py文件中...指定一个绝对文件路径(跨平台),基于您的settings.py所在的目录...最简单的方式做所有IMO .. 。 - photoionized


对于windows eclipse,它应该是完整的路径

for e.g. C:\\Abc.db

'\\' 应该取代单斜线。


0
2017-09-02 10:38