【发布时间】:2015-07-19 21:58:24
【问题描述】:
我实际上是一个 php(CodeIgniter) 网络开发人员,虽然我喜欢 python,但我刚刚安装了 Bitnami's Django Stack,它安装了 Apache、MySQL、PostgreSQL 和 Python 2.7.9,并安装了 Django。在安装过程中,它生成了一个简单的 Django 项目。
虽然我看起来很熟悉,但我开始向它添加一些代码行,但是当我保存它并刷新页面甚至重新启动浏览器时,我发现 python 实例仍在运行旧脚本。仅当我重新启动 Apache 服务器时脚本才会更新(我相信这就是 Python 实例被终止的地方)。
所以,为了用 Python 澄清这个问题,我创建了一个简单的视图并将其 URL 指向 r'^test/'
from django.http import HttpResponse
i = 0
def test_view(request):
global i
i += 1
return HttpResponse(str(i))
然后我发现,即使在不同的浏览器之间切换,i 的值也会不断增加,即在另一个浏览器中继续增加值。
那么,谁能告诉我这是 Django 的默认行为还是我的 Apache 安装有问题。
【问题讨论】:
-
这就是为什么 a) 您不在 Web 应用程序中使用全局变量,b) 您使用开发服务器而不是 Apache 进行开发。
-
如果这个东西以这种方式工作,那么 MySQL 会话锁定如何成为可能 bcos 似乎 python 会话永远不会结束,即使没有什么要处理的。
-
对不起,我不明白你的意思。 MySQL会话锁与什么有什么关系?为什么要锁定表呢?你在说什么 Python 会话?
-
我想我可能对 MySQL 会话锁感到困惑。但这似乎与我从 PHP bcos 中了解到的完全不同,PHP $_SESSION 是一个全局变量,但它对每个用户都不同。
标签: python django apache python-2.7 bitnami