为什么这可以通过命令行工作,但不能通过网络浏览器工作? (python中的两个文件只加载第二个文件)
import cgi
import cgitb; cgitb.enable()
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
# get the info from the html form
form = cgi.FieldStorage()
#set up the html stuff
reshtml = """Content-Type: text/html\n
<html>
<head><title>login</title></head>
<body>
"""
print reshtml
User_Name = form.getvalue('User_Name')
password = form.getvalue('Pass_Word')
log="info: "
if User_Name == 'NAME' and password == 'passcode':
log=log+"login passed "
else:
log=log+"login failed "
print log
print '</body>'
print '</html>'
我使用传递参数“User_Name”和“Pass_Word”的文件调用它:
#!/Python27/python
print "Content-type: text/html"
print
print """
<html><head>
<title>log in</title>
</head><body>
"""
import sha, time, Cookie, os, fileinput, cgi, cgitb
import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
log = "info: "
cookie = Cookie.SimpleCookie()
string_cookie = os.environ.get('HTTP_COOKIE')
string_cookie = str(string_cookie)
infoform = """
<link rel="stylesheet" type="text/css" href="styles/home.css" media="screen" />
<div id="top" style=" height:50px;width:100%;position:absolute;left:0px;top:0px;" >
<form action="router.py" method="post" target="_self">
<div id="form" style="position:absolute;left:15px;top:20px;" >
<input type="text" name="User_Name" value="User Name">
<input type="password" name="Pass_Word" value="Password">
<input type="hidden" name="status_url">
<input type="submit" value="Log in">
</div>
</form>
<div ID"home"></div>
</div>
<div id="GBbody" style="position:absolute;left:1px;top:55px;height:100%;width:100%;" >
<p id="disply">
<center><h2>
Hi, and welcome!
</h2></center>
<h4>
Did you know: just the movie player and code that goes with it takes<br>
474 lines of code so-far, and may not work many web browsers (for the time being), however <br>
Google chrome is fully compatible at this point.
</h4>
</p>
</div>
"""
loginas = """
<form action="home.py" method="post" target="_self">
<input type="submit" value="Continue last session" style="position:absolute;right:15px;top:20px;">
</form>
"""
if "sess" in string_cookie:
infoform = infoform.replace('<div ID"home"></div>',loginas)
print infoform
else:
print infoform
print "</body></html>"
但是,它打印出一个内部服务器错误页面,帮助?我刚刚重新安装了python 2.7.3的后脚本
答案 0 :(得分:0)
尝试使用Flask它不仅具有调试支持,而且还有制作Web服务所需的所有工具,如果您不想使用Flask。查看您的服务器(Apache或nginx)日志