Python 2.7 Django不';t从数据库读取–;无误

Python 2.7 Django不';t从数据库读取–;无误,python-2.7,osx-mavericks,postgresql-9.1,django-1.6,Python 2.7,Osx Mavericks,Postgresql 9.1,Django 1.6,我刚刚在一个新的Mac上为一个现有的Django项目设置了环境。我确信代码本身没有问题(只是克隆了repo),但由于某种原因,Django似乎无法从数据库检索数据 我知道数据库中有正确的表格和数据 我知道代码库应该是这样的 我可以使用Django shell进行查询 Django不会抛出任何错误,尽管网页上缺少数据 我意识到在没有更多信息的情况下很难调试这个程序,但是如果有人能给我指出正确的方向,我将不胜感激。我似乎找不到任何有用的日志 编辑: 我刚意识到问题出在别处。不幸的是,我无法在悬赏

我刚刚在一个新的Mac上为一个现有的Django项目设置了环境。我确信代码本身没有问题(只是克隆了repo),但由于某种原因,Django似乎无法从数据库检索数据

  • 我知道数据库中有正确的表格和数据
  • 我知道代码库应该是这样的
  • 我可以使用Django shell进行查询
  • Django不会抛出任何错误,尽管网页上缺少数据
我意识到在没有更多信息的情况下很难调试这个程序,但是如果有人能给我指出正确的方向,我将不胜感激。我似乎找不到任何有用的日志

编辑:


我刚意识到问题出在别处。不幸的是,我无法在悬赏仍然打开的情况下删除此帖子。

在没有看到任何代码的情况下,我只能建议一些可能有助于您调试问题的一般建议。如果可以,请添加到存储库的链接,或者添加数据库设置的某些片段、包含数据库查询的视图等

调试视图

我建议的第一件事是在查询数据库的
视图中使用。如果您以前没有使用过
pdb
,那么它是一个救生装置,允许您在Python脚本中设置断点,然后在解释器中以交互方式执行代码

>>> import pdb
>>> pdb.set_trace()
>>> # look at the results of your queries
如果您使用的是Django ORM,那么从查询返回的
QuerySet
应该包含您期望的所有数据

如果没有,则需要在
settings.py
中查看数据库配置

如果是这样,那么您一定不会将该对象返回到模板?不太可能,正如您所说,代码是相同的,但请仔细检查您与对象一起传递的对象

调试数据库设置

如果您可以使用django shell中的
settings.py
中的项目设置来查询数据库,那么这听起来似乎有问题——但就像所有东西一样,请仔细检查

你说你已经在mac上建立了一个新项目。以前在不同的操作系统上有什么?现在的路径可能有问题-为了使项目平台独立,请记住在处理文件路径时使用该方法

那么用户名和密码的详细信息呢

调试模板

可能您的模板引用了错误的对象变量名或对象属性。您提到了这一点

Django不会抛出任何错误,尽管web上缺少数据 页面

这并没有告诉我们太多——引用-

如果使用不存在的变量,模板系统将 如果设置无效,请插入模板字符串的值,即 默认情况下设置为“”(空字符串)

因此,要检查模板可用的所有变量,可以使用模板标记

{{ debug }}
也许更好的方法是使用-这还可以让您检查您的
视图正在进行的SQL查询

缺少模块


如果这是一个问题,我希望这会引发一个例外,但是你检查过你的新机器上有模块吗?

啊,你在我发布我的回复时发布了你的编辑-最后是什么问题?你的答案正是我想要的,所以我无论如何都会奖励它。令人尴尬的是,问题是数据库是空的。。。