2013-12-13 42 views
0

我有標準的13.10 Ubuntu。運行Apache 2和mod_python。兩者都使用apt-get進行安裝。我試圖從客戶端傳遞GET變量到服務器,執行python腳本,然後返回結果。Mod_python沒有獲取GET變量

這裏是我的ApacheConfig(默認加上下面的代碼):

ScriptAlias /tm/ "/home/tm/" 

<Directory /home/tm/ > 
     Require all granted 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     allow from all 
     AddHandler mod_python .py 
     PythonHandler mod_python.publisher 
     PythonDebug On 
</Directory> 

Python代碼:test.py

import csv 

def index(): 
    form = cgi.FieldStorage() 
    return form 

我試圖http://myWebsite.com/tm/test.py?testVariable=This

回報:的FieldStorage(無,無,[]) - 意味着GET變量未被傳遞河

+0

爲什麼使用mod_python開發新代碼? –

+0

@ Ignacio。抱歉,不明白你的意思。 – Darthyogurt

+0

mod_python已經死了3.5年。爲什麼*任何人*編寫使用它的代碼? –

回答

0

正如其他人在評論中所說,你應該嘗試使用除mod_python以外的任何其他東西。燒瓶是一個優秀的python microframerwork http://flask.pocoo.org/

假設你出於某種原因被鎖定到mod_python: 你需要讀取輸入變量,而不是創建一個新的空白實例並返回它。

def index(): 
    form = cgi.FieldStorage() #this is creating a new/blank instance 
    return form 

要在「REQ」變量讀取全局副本:

def index(): 
    return req.form 

同樣,如果你有一個選擇,請盡你所能避免使用mod_python的。這一天很好,但不應該是你去python web框架。