我有一个用html5开发的python操作的前端,它从中获取必要的输入。我无法将输入传递给python代码。我尝试使用cgi,但是它只是在浏览器上打印我的python代码。请帮忙。
我的html代码index.html:
`<body>
<form name="inputs" action="../testProj/testcgipy.py" method="get">
Enter name: <input type="text" name="tbox"> <input type="submit"
value="Submit">
</form>
</body>`
我的python代码testcgipy.py:
import cgi
form= cgi.FieldStorage()
val= form.getvalue('tbox')
print "Content-type:text/html\r\n\r\n"
print "<html>"
print "<head>"
print "<title>Hello CGI Program</title>"
print "</head>"
print "<body>"
print "<h2>Hello %s </h2>" % (val)
print "</body>"
print "</html>"
答案 0 :(得分:0)
最好为应用程序使用适当的HTTP服务器。 Flask,bottle等都是出色的轻量级解决方案。
满足您需求的概念证明:
from bottle import request, route, template, redirect, run
@route('/')
def home():
html = '''
<form method='get' action='/query'>
Enter name: <input name='name'>
<br>
<button>Send</button>
</form>
'''
return template(html)
@route('/query')
def query():
name = request.query['name'] or None
if not name:
return redirect('/')
things = get_all_things(name)
html = '''
% for item in things:
<p>{{item}}</p>
% end
'''
return template(html, things=things)
def get_all_things(name: str):
return [name, 'another thing']
if __name__ == "__main__":
run()