python - Django 应用程序中的 datetime.now() 变坏了

标签 python django apache datetime mod-wsgi

我在部署 Django 应用程序后遇到了一些问题。我在 ubuntu 服务器上使用 Apache + mod-wsgi。在我重新启动服务器后一段时间,时间变得很糟糕,大约 -10 小时是错误的。我制作了一个 Django View ,如下所示:

def servertime():
  return HttpResponse( datetime.now() )

在我重新启动服务器并检查显示该 View 的 url 之后,它首先看起来没问题。然后在某一时刻它有时会给出正确的时间,有时会给出错误的时间。服务器时间是正确的。

有什么线索吗?我用谷歌搜索了它,但没有走运。

最佳答案

我可以看看你的 urls.py 吗?

类似的行为曾经让我难过......

原来是我的 urls.py 调用 View 的方式。 Python 运行一次 datetime.now() 并存储它以备将来调用,从不真正再次调用它。这就是为什么 django 开发人员必须实现将函数而不是函数调用传递给模型的默认值的能力,因为它将采用函数的第一次调用并使用它直到 python 重新启动。

您的行为听起来像是第一次是正确的,因为这是第一次调用 View 。它有时是不正确的,因为它再次获得了相同的日期。然后它再次随机正确,因为你的 apache 可能为它启动了另一个工作进程,当你在处理请求的进程之间跳转时,可能会发生疯狂。

关于python - Django 应用程序中的 datetime.now() 变坏了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/883823/

相关文章:

python - ImportError异常值: No module named forms

python - django - 如何渲染我在网页中随处使用的模板?

python - 我应该编辑 django 迁移文件来编辑不匹配的依赖项吗

ruby - Chef 错误在资源 `start` 上执行操作 'service[httpd]'

python - 如何防止 CMake 破坏 Eclipse 项目中的 PyDev 配置

Python 多处理事件与 Theading 事件

python - 如何正确定义 gevent 功能是否可用?

python - 关注 xs :include when parsing XSD as XML with lxml in Python

java - 如何配置 Apache 将子域重定向到 Tomcat 应用程序

php - 使用 .htaccess 重写 URL 以缩短链接