【问题标题】:Django + fcgi = new edits to views.py not shownDjango + fcgi = 未显示对views.py 的新编辑
【发布时间】:2012-09-07 10:47:06
【问题描述】:

我想深入研究 Python\Django 开发并使用我手头的东西:

  • 在 Hostgator 上托管(不是 vps,而是共享)。

他们确实支持 Django,但通过 fcgi。小指南here

里说的我都做了

所以我得到了“hello world”的工作。虽然我在应用程序的views.py中有时间而不是hello world:

from datetime import datetime
from django.http import HttpResponse
def index(request):
 return HttpResponse(datetime.now().strftime('%H:%M:%S'))

但是现在,当我对views.py 进行任何更改时 - 我无法立即看到结果。我确实删除了所有 *.pyc 文件,仍然没有。例如,即使这样做:

return HttpResponse('Hello World!')

我没听懂,但我还是看到了时间。

我已经完全迷路了。我通过 ssh 和 django-admin.py 尝试了很多事情......但仍然 - 我看到了时间。

如果我在代码中犯了错误 - 它会快速(可能不是立即)追上它并给出错误\调试信息,但即使在那之后,如果我将它更正为新代码 = 结果仍然是时间.

好像我错过了什么。 views.py 的一些“刷新”功能...清除缓存..或类似的东西?重启应用?

UPD:kill -USR1 index.fcgi 做到了!

【问题讨论】:

  • 应用这些更改需要通过命令重新启动应用程序
  • 如果您解决了问题,请接受正确答案,或者添加您自己的包含解决方案的答案。不要将标题修改为“已解决”。
  • 没问题。很容易错过。但现在你知道了。 ;)

标签: python django apache fastcgi


【解决方案1】:

这是fcgi!

您可能必须重新启动生成的服务器,因此它会重新加载 Python 文件。

您可以通过触摸 .fcgi 文件来实现:

$ touch index.fcgi

How to use Django with FastCGI, SCGI, or AJP

Dreamhost,Hostgator 的竞争对手说你有时需要kill the process

killall -USR1 index.fcgi

但我不知道这是否也适用于 hostgator。

【讨论】:

  • 安德烈,谢谢!虽然它现在工作了一次,但没有进一步工作:(
  • 我就是这样做的:(有没有其他方法可以重启应用程序?
  • 您可以将 index.fcgi 重命名为 index_old.fcgi,看看它是否中断(错误 500),然后将其重命名。但是触摸它,实际上应该这样做。
  • 重命名 - 将我带到错误 500。重命名 - 再次给我一个旧版本。 django中是否有任何类型的缓存?还是 apache 正在做一些棘手的事情?
  • 检查触摸是否改变了任何东西 = 有效。我对此感到很困惑。请确保我确实遵循了指南中提到的所有步骤以及您所说的内容,并且我仔细检查了我是否没有遗漏任何东西。但是仍然 - 感觉就像 django 将我编译的应用程序缓存在某个地方,并以某种间隔或其他方式重新检查它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-21
  • 1970-01-01
  • 2021-08-14
  • 1970-01-01
  • 2020-09-01
  • 1970-01-01
相关资源
最近更新 更多