2014-12-28 30 views
0

我有用於python頁面的WSGI模塊的apache服務器。Python + Apache網頁不更新

我有用str(datetime.datetime.now())打印當前時間戳的index.wsgi文件。
問題是當我刷新頁面時,我看不到它的更新,它在幾秒鐘之內跳躍,看起來像它有3-4舊的結果在緩存中,它正在顯示它們..

我試圖看它是否使用緩存的網頁瀏覽器,但無法找到任何東西..

index.wsgi:

#!/usr/bin/python 
# -*- coding: UTF-8 -*- 

import datetime 

html=""" 
<HTML> 
<HEAD><TITLE>Manual Runner</TITLE> 
<BODY> 
timestamp: {0}<BR><BR> 
</BODY></HTML> 
""".format(str(datetime.datetime.now())) 


def application (env, r): 
    body = html 
    status = '200 OK' 
    response_headers = [ ('Content-Type', 'text/html'), ('Content-Length', str (len (body))) ] 
    r (status, response_headers) 
    return [body] 

的httpd.conf:

WSGIScriptAlias//web_manager/manual_run/index.wsgi 

<Directory /web_manager/manual_run> 
Order allow,deny 
Allow from all 
Options +ExecCGI 
AddHandler cgi-script .py 
DirectoryIndex index.wsgi 
</Directory> 

任何想法?

謝謝。

+0

你能顯示你的index.wsgi文件嗎? – Jivan

+0

...以及您的Apache主機配置的相關部分,也可能是Web服務器響應的標頭。 –

回答

1

你的身體變量是全局的,這意味着它在進程開始時被評估,並且不會被重新計算。你之所以會在Apache的幾個不同的值之間進行切換,是因爲Apache啓動了一些獨立的進程:每個進程都有自己的body值,這個值會持續到進程重新啓動,並且不同的請求被路由到不同的進程。

不是將全局變量放在全局級別,而是從應用程序函數調用的函數中返回它。

+0

工程!非常感謝你!我花了2天的時間.. :) – gabi