Mod_python没有得到GET变量

时间:2013-12-13 19:06:24

标签: python apache mod-python

我有标准的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变量。

1 个答案:

答案 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框架。