我想要做的是在cgi-bin中有一个python程序 由网站上的每个页面执行,并显示一行HTML 在每个页面上,每个文件对于每个文件都不同,但键入到URL 该网站上的文件。
我知道如何使用javascript获取网址(例如 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>
我知道如何创建一个打开页面来执行.py的链接 点击它时的脚本:
<a href="http://constitution.org/cgi-bin/copy01.py?myurl=myurl">Here</a>
到目前为止,这是python脚本:
#!/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 © 1995-2011 Constitution Society. Permission granted to copy with attribution for non-profit purposes.
"""
print """
</body></html>
"""
print thisurl
但是如何将变量值传递给.py并不是那么明显 脚本,让它自动显示该页面的URL javascript,或显示一行HTML,它将从一个 URL是键的字典,HTML行是数据。
最终,我希望能够使用单个.py脚本生成, 每个页面的所有页脚内容,可以从a维护 我可以编辑的单个文件,用于进行随处传播的更改。
答案 0 :(得分:0)
CGI将当前请求的各种内容与脚本的shell环境相关联,您可以使用os.environ
以正常方式访问该环境。特别是,os.environ['HTTP_HOST']
将为您提供服务器名称,os.environ['SCRIPT_NAME']
将为您提供路径。