将html表单值导入python文件

2024-10-04 03:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用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>"

Tags: 代码textnamepyforminputhtmltype
1条回答
网友
1楼 · 发布于 2024-10-04 03:21:59

最好为应用程序使用适当的HTTP服务器Flaskbottle等都是很好的轻量级解决方案

符合您需求的概念证明:

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()

这一个为您提供了一个可在localhost:8080:
访问的服务器 homepage

提交表格时:
result page

相关问题 更多 >