【问题标题】:Python CGI replaces my htmlPython CGI 替换了我的 html
【发布时间】:2015-03-12 02:40:57
【问题描述】:

我正在使用 python 自学 CGI,但我无法找到任何关于如何将 python 程序的输出插入到我当前的 html 中而不是替换整个现有页面的参考。


这是蟒蛇:

#!python
import cgi, cgitb
cgitb.enable()

form = cgi.FieldStorage()

def loan(r, term, pv):
   if r is not None:
      r = float(r)
   if term is not None:
      term = float(term)
   if pv is not None:
      pv = float(pv)
   rate = r / 12
   numPeriods = 12 * term
   rate /= 100
   monthlyPayment = (pv * rate) / (1 - (1 + rate) ** (numPeriods * -1))
   return round(monthlyPayment, 2)

def getInput():
   r = form.getvalue("rate")
   term = form.getvalue("term")
   pv = form.getvalue ("amount")
   monthlyPayment = loan(r, term, pv)
   print("<p>Monthly Payment: %.2f<p>" % monthlyPayment)


print "Content-type: text/html\r\n\r\n"   
print """
<div>
<h1> Python CGI </h1>
<br />
 """

getInput()

print """
<br />
</div>
""" 

还有 HTML:

<DOCTYPE html>
<html>
<head>
<title> Python CGI Test </title>
</head>
<body>

<h1> Mortage Loan Calculator CGI</h1>

<form action ="/cgi-bin/myPython.py" method ="get">

Rate: <input type = "text" name = "rate"/> <br />

Term: <input type = "text" name = "term"/> <br />

Amount <input type = "text" name = "amount"/> <br />

<button type = "submit" > submit </button>
</form>
</body>
</html>

我希望将 python 脚本中的 html 插入到表单的正下方。

【问题讨论】:

    标签: python html cgi


    【解决方案1】:

    这是服务器端,这意味着一旦页面被加载,从 Python 重新加载内容的唯一方法是通过重新加载或 AJAX。所有代码将在内容发送回用户之前运行。

    【讨论】:

    • 是的,但是如何将 python 脚本打印出来的内容插入到我当前的 HTML 中,而不是让通过 CGI 返回的内容替换我的整个页面?可能我实际上并不了解 CGI 的使用,但它不能像 ajax 一样用于将服务器上的计算插入网页吗?
    • 所有这些计算都可以在客户端完成。没有简单的方法可以在不重新加载的情况下将服务器端内容加载到页面中。
    • 我明白了,所以 CGI 并不会真正用于插入页面,而是更多地用于构建新页面?
    • 更像是让某人登录、获取数据库内容或修改服务器。但是,您可以使用 AJAX 获取服务器端计算。
    • 酷,我不知道你可以用 AJAX 做到这一点。我可以使用 javascript 运行 python 脚本吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 2011-02-14
    • 2017-08-07
    • 1970-01-01
    相关资源
    最近更新 更多