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に変更すると、Noneになります(したがって、nullと想定しています)。POST変数を参照するには、他に何をする必要がありますか?

4

1 に答える 1

0

それが最善の方法であるかどうかはわかりませんが、私はそれを行う1つの方法を考え出しました。変更されたコードは次のとおりです。

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 に答える