2014-12-28 3 views
0

파이썬 페이지 용 WSGI 모듈이있는 아파치 서버가 있습니다.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

... 그리고 아파치 호스트 구성의 관련 부분과 어쩌면 웹 서버의 응답 헤더. –

답변

1

본문 변수는 전역 변수이므로 프로세스가 시작될 때 평가되고 결코 다시 계산되지 않습니다. 아파치가 몇 가지 다른 프로세스를 시작한 몇 가지 다른 값 사이를 뒤섞어 버리는 이유는 각각 프로세스가 다시 시작될 때까지 유지되고 다른 요청이 다른 프로세스로 라우팅 될 때까지 각 프로세스는 자체 body에 대한 값을 갖기 때문입니다.

body 변수를 전역 수준에 두는 대신 응용 프로그램 함수에서 호출 한 함수에서 반환하십시오.

+0

작동! 고마워요! 나는 그것에 2 일을 보냈다. :) – gabi