Python - 我如何知道何时按下表单按钮? (登出)

标签 python html cgi

我正在尝试使用 python CGI 为我的网站制作一个注销按钮。我想知道我怎么知道按钮何时被按下?

我的注销表单如下:

<form id="logout" method="POST" action="">
   <input type="submit" name="logout" value="Logout">
</form>

从这里,我知道我需要将表单存储在 FieldStorage 中,因此我执行了以下操作:

form = cgi.FieldStorage()

我尝试过执行 if 语句,例如:

if form.has_key('logout'):
    doLogoutFunction()

但它不起作用。请帮忙

最佳答案

您不需要通过 POST 处理注销,并且还需要在操作字段中指出用于处理 GETPOST

这是一个example它显示了如何通过 GET 任何表单提交来处理它。您只需允许单击 URL /logout 中特定部分的注销链接,并处理从应用程序注销的位置的 GET。

如果您确实想通过表单进行操作,您可以为表单设置一个隐藏字段,然后验证该值。

<html><body>
<form method="get" action="logoff.py">
Name: <input type="hidden" name="hidden">
<input type="submit" value="Logoff">
</form>
</body></html>

对应的CGI Python脚本为:

import cgi
form = cgi.FieldStorage() # instantiate only once!
name = form.getfirst('name')
if name == 'hidden':
   # do your action

关于Python - 我如何知道何时按下表单按钮? (登出),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5788571/

相关文章:

python - 如何将 png 文件转换为 geotiff

python - 如何更改 PyGame 中声音或音乐的音量?

python - 在 python 中使用字典进行动态绑定(bind)?

html - 将搜索框居中对齐

javascript - 是否可以从 HTML 元素设置 "remove"样式?

cgi - 使用 EasyPHP 服务器进行 Python 编程?

Python TKinter 获取文本小部件中的点击标签

javascript - 如何仅在我的网页上更改数字上的文本装饰?

html - 如何保存 CGI 应用程序的服务器状态?

perl - CPAN 安装新模块是否会影响同一实时生产服务器上的 Perl-CGI 应用程序?