2011-10-07 4 views
1

내가하고 싶은 일은 인 각 페이지마다 행을 표시하는 cgi-bin에 하나의 python 프로그램을 갖고 싶습니다. 이 파일은 각 파일마다 다르지만 URL에 이라는 URL을 입력하여 사이트에 저장합니다.python cgi 스크립트에 변수를 전달하는 방법

나는 자바 스크립트를 사용하여 URL을 얻는 방법을 알고있다 (예에 http://constitution.org/cs_event.htm) :

<script language="javascript"> 
    var myurl = document.location.href; 
    document.write(myurl); 
</script> 
<br> 
<script language="javascript"> 
    var myurl = document.location.href; 
    document.write("<A href=\"" + myurl + "\">" + myurl + "<\/A>"); 
</script> 

그리고 하나가 클릭하면 평 스크립트를 실행하는 페이지를 여는 링크를 만드는 방법을 알고 그것은 :

#!/usr/bin/env python 
# This outputs a copyright notice to a web page 

import cgi 
print "Content-Type: text/html\n" 
form = cgi.FieldStorage() 

thisurl = form.getvalue("myurl") 

print """ 
<html><head></head> 
<body> 
""" 

print """ 
Copyright &copy; 1995-2011 Constitution Society. Permission granted to copy with attribution for non-profit purposes. 
""" 

print """ 
</body></html> 
""" 

print thisurl 
: 여기
<a href="http://constitution.org/cgi-bin/copy01.py?myurl=myurl">Here</a> 

지금까지 파이썬 스크립트입니다

그러나 변수 값을 .py 스크립트에 전달하고 자바 스크립트에서 과 같은 방식으로 해당 페이지의 URL을 자동으로 표시하거나 HTML에서 표시되는 줄을 표시하는 방법은 분명하지 않습니다. URL이 키이고 HTML 행이 데이터 인 사전.

는 궁극적으로 나는 사방에 전파 변경을 편집 할 수있는 하나의 파일에서 유지 될 수있는 하나의 평 스크립트, 각 페이지의 모든 바닥 글 내용을 사용하여 생성 할 수 있어야합니다.

+0

가져 오기로 표시 할 수있는 호출 페이지의 URL을 얻는 방법이 발견되었습니다. os.environ [ 'HTTP_REFERER'] –

+0

우리는 여전히 제기 된 문제를 해결하지 않았습니다. jquery 스크립트와 같이 호출 HTML 페이지의 URL, 각 URL마다 다른 행을 기반으로 선택된 HTML 행을 표시하는 것 외에는 아무것도 수행하지 않는 python 스크립트를 실행하는 무언가가 필요합니다. 처음에는 URL 만 표시 할 수 있지만 결국 해결 방법은 URL을 사전 키로 사용하여 해당 사전의 값으로 선을 선택하는 것입니다. –

답변

0

CGI는 현재 요청과 관련된 여러 가지 사항을 스크립트의 쉘 환경에 넣습니다.이 환경은 os.environ으로 정상적인 방법으로 액세스 할 수 있습니다. 특히 os.environ['HTTP_HOST']은 서버 이름을 가져오고 os.environ['SCRIPT_NAME']은 경로를 가져옵니다.

+0

그것은 cgi 스크립트의 환경 변수를 얻는 것 같지만 파이썬 스크립트 호출이 포함 된 html 페이지는 아닙니다. 임베디드 호출을 사용하면 사용자가 클릭하지 않고 동일한 페이지에서 javascript 예제와 동일한 방식으로 즉시 실행할 수 있습니다. –

+0

즉, 스크립트 자체를 가리키는 것이 아니라 스크립트를 호출하는 HTML 페이지의 URL을 원합니다. 스크립트는 호출하는 HTML 페이지의 URL을 가져와 사전 키로 사용하여 HTML 행이 될 데이터를 가져온 다음 호출 된 HTML 페이지에 해당 행을 즉시 표시합니다 HTML의 일부, 링크 등 –

관련 문제