使用Flask连接HTML和Python
我做了一个使用POST方法的HTML表单,在Python中我用了cgi.FieldStorage()。在HTML中有一行代码:
<form action="website.py" method="post">
<input type="Sting" name="username" id="username" placeholder ="User Name">
</form>
现在在Python中:
import cgi
form=cgi.FieldStorage()
user_name=form.getvalue('username')
#it is giving none and
user=form['username'].value
#it gives key error 'username'
接下来该怎么做呢?我提到了这个,我原本期待能输出用户输入的用户名!
1 个回答
-1
看起来你提供的代码可能有几个问题。首先,确保你在HTML输入标签中的type属性设置为"text",而不是"Sting"。这可能是个打字错误,导致了问题。
下面是修正后的HTML表单:
HTML
<form action="website.py" method="post">
<input type="text" name="username" id="username" placeholder="User Name">
</form>
在你的Python脚本中,代码看起来是正确的,但问题可能出在服务器配置上,或者是表单数据发送的方式。确保服务器正确配置,以处理POST请求,并且website.py设置为可以作为CGI脚本执行。
如果服务器配置正确,HTML表单也没问题,那么Python代码应该可以正常工作。下面是一个如何在Python中处理表单数据的例子:
Python
import CGI
form = cgi.FieldStorage()
user_name = form.getvalue('username')
if user_name:
print(f"Hello, {user_name}!")
else:
print("Username not provided!")
确保在支持CGI的服务器环境中运行这个。如果你仍然遇到问题,检查服务器日志,看看有没有错误信息,这可能会帮助你更好地理解问题出在哪里。