0

我这里有一个简单的页面,暂时名为 login.py,因为最终它将成为一个功能登录页面。但是,现在我已经将它设置为尝试从提交的表单中获取 POST 变量。这是我到目前为止的代码:

from mod_python import apache, Session, util
from time import time
import webout

def index(req):
        form = util.FieldStorage(req)
        testval = form.getfirst("test")
        return webout.htmlout("", """
        <form name="login" action="login.py" method="post">
                <h2>%s</h2>
                <p>Enter something:</p><input type="text" name="test">
                <input type="submit" value="Submit">
        </form>
""" % testval)

Webout 是我编写的一个模块,基本上它所做的只是返回一个格式正确的 HTML 输出,所以我不必一直输入它,调用 htmlout 我正在传递头部和正文中的内容。

无论如何,如果我要更改表单的获取方法,h2 会正确显示我在表单的文本框中提交的任何内容。但是,如果我将其更改为发布,我会得到无(所以我假设为空)。我还需要做什么来引用 POST 变量?

4

1 回答 1

0

我已经想出了一种方法来做到这一点,尽管我不确定这是否是最好的方法。修改后的代码如下:

from mod_python import apache, Session, util
from time import time
import webout

def index(req, test=""):
        form = util.FieldStorage(req)
        #testval = form.getfirst("test")
        return webout.htmlout("", """
        <form name="login" action="login.py" method="post">
                <p>%s</p><br/>
                <p>Enter something:</p><input type="text" name="test">
                <input type="submit" value="Submit">
        </form>
""" % test)

所以基本上,POST 将变量传递给 index 方法。如果您不是来自表单提交,请分配默认值。这适用于 POST 和 GET。

于 2012-10-17T17:40:44.443 回答