Python CGI - GET表单,浏览器输入地址显示正确页面

0 投票
1 回答
2625 浏览
提问于 2025-04-16 16:35

我正在尝试用Python和CGI制作一个网站。这个网站非常简单,只有登录、登出和从数据库中显示数据的功能,数据库使用的是sqlite。

我想知道如何创建一个超链接,点击后能显示从数据库返回的消息,而且这个链接是通过一个没有提交按钮的GET表单生成的。这个超链接大概是这样的:

www.test.com/cgi-bin/test.py?message=id

其中的id是从数据库中返回的一个列表里的某个项目的id(这个列表包含了id和消息)。所以当我在浏览器里输入,比如说,message=23,它就会在一个页面上单独显示那条消息;或者当我创建一个带有查询字符串的超链接,比如message=43,它就会显示ID为43的消息。

我看过这个教程(简单的URL示例:GET方法部分):http://www.tutorialspoint.com/python/python_cgi_programming.htm

但是我不知道如何去掉提交按钮,让值来自数据库并附加到URL上。(test.py?foo=bar)

希望我解释得够清楚。

1 个回答

2

一个网址就是一个网址。无论你是通过输入、点击链接,还是通过提交一个表单(使用GET方法)来生成它,这都没有关系。

<a href="http://www.test.com/cgi-bin/test.py?message=22">…</a>

根据理解,问题实际上是:

我该如何在用Python编写的CGI脚本中读取查询字符串?

import cgi
form = cgi.FieldStorage()
messageid = form.getvalue("message")

撰写回答