2011-04-28 29 views
0

我正在試圖製作一個使用Python與CGI的網站。這個網站是非常基本的,它只是使用sqlite登錄,註銷並顯示來自數據庫的數據。Python CGI - GET表單,在瀏覽器中輸入正確的頁面地址

我想知道如何創建一個超鏈接到頁面顯示從數據庫返回的消息使用沒有提交按鈕的GET表單?超鏈接將是這樣的:從列表中(其中有ID和消息)從數據庫返回的

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

其中ID是等於一個項目。因此,當我在瀏覽器中輸入message = 23時,它將在單獨的頁面上顯示該消息,或者當我使用查詢字符串消息= 43創建超鏈接時,它將顯示ID爲43的消息。

I已經看過本教程(簡單的URL示例:獲取方法部分):http://www.tutorialspoint.com/python/python_cgi_programming.htm

但我不知道如何擺脫提交按鈕的值來自數據庫並附加到URL。 (test.py?foo=bar)

希望我已經清楚地解釋了一切。

回答

1

URL是一個URL。無論您是通過輸入,點擊鏈接還是提交表單(使用method = 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") 
+0

是的,但我將如何落實到我的腳本中的腳本讀取查詢字符串並顯示相應的信息。如果我剛剛創建了一個超鏈接,它將只顯示相同的頁面,而不從數據庫中檢索消息。 – DCrocovC 2011-04-28 12:26:05

+0

我試着做你的方式,但它仍然不工作,除非我做了一些可怕的錯誤..我有鏈接=「然後link = cgi.FieldStorage(),messageid = link.getvalue( 'message')但它不返回 – DCrocovC 2011-04-28 16:26:41

+0

我不知道爲什麼在用FieldStorage對象覆蓋字符串之前將字符串''分配給'link',但它適用於我:http: //dorward.me.uk/cgi-bin/test.cgi?message=123 – Quentin 2011-04-28 19:06:46

相關問題