在没有看到任何代码的情况下,我只能提出一些可以帮助您调试问题的一般性建议。如果可以,请添加指向您的存储库的链接或数据库设置的一些片段,包括数据库查询的视图等...
调试视图
我建议的第一件事是在查询数据库的内部使用python 调试器。view
如果您以前没有使用pdb
过,它是一个救命稻草,它允许您在 Python 脚本中设置断点,然后在解释器中交互地执行代码
>>> import pdb
>>> pdb.set_trace()
>>> # look at the results of your queries
如果您使用的是 Django ORM,QuerySet
则查询返回的数据应该包含您期望的所有数据。
如果没有,那么您需要在settings.py
.
如果是这样,那么您可能不会将该对象返回给模板?不太可能正如您所说的代码是相同的,但请仔细检查您使用HttpResponse对象传递的对象。
调试数据库设置
如果您可以使用settings.py
django shell 中的项目设置查询数据库,这听起来不太可能有问题 - 但就像一切都仔细检查一样。
你说你在mac上建立了一个新项目。以前在不同的操作系统上是什么?也许现在路径存在问题 - 为了让您的项目平台独立,请记住在使用os.path.join()
文件路径时使用该方法。
那么用户名和密码详细信息呢......
调试模板
也许您的模板引用了错误的对象变量名称或对象属性。您提到过
尽管网页上缺少数据,Django 不会抛出任何错误。
这并没有真正告诉我们太多 - 引用Django 文档-
如果您使用不存在的变量,模板系统将插入 TEMPLATE_STRING_IF_INVALID 设置的值,默认设置为 ''(空字符串)。
因此,要检查模板可用的所有变量,您可以使用调试模板标签
{{ debug }}
可能更好的是使用django-debugging-toolbar - 这也可以让你检查你view
正在做的 SQL 查询。
缺少模块
如果这是问题所在,我希望这会引发异常,但是您是否检查过您的新机器上是否有psycopg模块?