2013-11-01 50 views
-1

如果用戶輸入正確,我想顯示/顯示test.html(位於與腳本相同的目錄中)。如何用Python cgi打開/導入新的html文件?

的test.html:

<html> 
<head><title>Test</title></head> 
<body> 
    <p>Test</p> 
</body> 
</html> 

Form.html:

<form action="submit.cgi" method="get"> 
<p>Question 1</p> 
<select name="form1"> 
<option value="1">Test 1</option> 
<option value="2">Test 2</option> 
</select> 

<p>Question 2</p> 
<select name="form2"> 
<option value="3">Test 3</option> 
<option value="4">Test 4</option> 
</select> 
</form> 

Python腳本(submit.cgi):

#!/usr/bin/python3 

import cgi 
import cgitb 

print ('Content-type: text/html\n\n') 
form = cgi.FieldStorage() 
if form["form1"].value == '1' and form["form2"].value == '3': 
    ...? 

我知道我t可以在腳本(工作)中打印整個test.html,但我更願意導入/打開html頁面(尤其是使用多個或大型html文件)。我試過了:

open("test.html") 

但是沒有奏效。有人知道如何做到這一點嗎?

+1

使用Python的Web框架,而不是與CGI –

回答

1

解決方案:

if form["form1"].value == '1' and form["form2"].value == '3': 
    print (''' 
    <head><meta http-equiv="refresh" content="0;URL='test.html'" /></head>  
''') 
+2

如果你回答自己的問題修修補補,至少說明它是如何解決您遇到的問題... –

+0

除了打印我現在可以用上面的代碼打印整個html頁面。保持CGI清潔,效率更高。 – Matthijs2504

+0

您上面寫的代碼實際上會刷新到不同的頁面。它不打印HTML。你應該使用框架而不是CGI。 –