Python 2.7 Django不';t从数据库读取–;无误
我刚刚在一个新的Mac上为一个现有的Django项目设置了环境。我确信代码本身没有问题(只是克隆了repo),但由于某种原因,Django似乎无法从数据库检索数据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不会抛出任何错误,尽管网页上缺少数据 我意识到在没有更多信息的情况下很难调试这个程序,但是如果有人能给我指出正确的方向,我将不胜感激。我似乎找不到任何有用的日志 编辑: 我刚意识到问题出在别处。不幸的是,我无法在悬赏
- 我知道数据库中有正确的表格和数据
- 我知道代码库应该是这样的
- 我可以使用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查询
缺少模块
如果这是一个问题,我希望这会引发一个例外,但是你检查过你的新机器上有模块吗?啊,你在我发布我的回复时发布了你的编辑-最后是什么问题?你的答案正是我想要的,所以我无论如何都会奖励它。令人尴尬的是,问题是数据库是空的。。。