我有标准的13.10 Ubuntu。运行Apache 2和mod_python。两者都使用apt-get安装。我正在尝试将GET变量从客户端传递到服务器,执行python脚本然后返回结果。
这是我的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 :(得分:0)
正如其他人在评论中所说,你应该尝试使用mod_python以外的任何东西。 Flask是一种优秀的python微型工作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框架。