2015-01-26 8 views
1

我有一个使用mod_wsgi在Apache2服务器上托管的示例Django应用程序。目前我只在环回地址(127.0.0.1)上测试它。所以这就是我所做的:Django应用程序每次打到服务器时都会显示相同的实例

  1. 打开一个选项卡并转到回送地址。然后我在Django应用程序上工作。
  2. 现在,当我启动另一个选项卡并转到回送地址时,Django应用程序不会从头开始。它向我展示了另一个选项卡中发生的完全相同的事情。

我该如何避免这种情况?如果我在网上运行应用程序,它会自动解决吗?我对此很新,而且我一直无法在google上找到解决方案。我可以提供解决问题所需的任何文件。

+2

你期待看到什么?在这种情况下,“从头开始”是什么意思?您是否说新标签会转到与之前标签中完全相同的网址? – 2015-01-26 18:42:37

+0

Django不是PHP,通常会重新解释整个页面的每个请求。除非您配置apache以在N次网页浏览后终止它,否则相同的应用程序实例将继续运行并应答请求。 – 2015-01-26 18:44:55

+0

@PauloScardine我不知道!有什么方法可以强制Django的行为,并为每个页面请求加载一个新的应用程序实例。我正在尝试进行用户研究,至少有20个用户将同时使用该应用。 – Yathi 2015-01-26 20:34:57

回答

1

您可能已经习惯了PHP,当您对PHP源代码进行更改时,无需重新启动服务器。出于开发目的,您可以设置maximum-requests=1。这将为每个请求启动一个新的WSGI进程。

您可能也有兴趣在这个问题:How to automatically reload Django when files change?

0

内置的开发服务器(你做python manage.py runserver得到)将每当你做出改变刷新。 Apache不会(默认情况下)。

您或者需要重新启动apache,或者您需要在您的WSGI配置中设置maximum-requests=1

要走的路是运行内置的dev服务器进行开发,然后部署到apache服务器进行生产。

相关问题