8

Pythonで開発されたWebページに問題があります。

フォームにいくつかのフィールド (チェックボックス、テキストエリアなど) があり、各フィールドにはいくつかの一意の名前があります。

既知のフィールドの値を保存できます

すなわち

field_name = 'fl_textarea'    
field_value = form.getvalue(field_name)

しかし、未知のフィールド名の値を取得するにはどうすればよいですか? また、フィールド名を変数に保存する必要があります。

提出されたフォームの内容を印刷した場合

form = cgi.FieldStorage()
print "<p>"+ str(form) +"</p>"

次のようになります。

FieldStorage(None, None, MiniFieldStorage('flatt2695', 'abc-xyz'), MiniFieldStorage('flatt2696', 'abc-123xyz'), MiniFieldStorage('flatt2697', 'onoff'), ...

では、これらのフィールド名と値を 1 つずつ変数に入れるにはどうすればよいでしょうか。

4

1 に答える 1

9

すべてを正確に説明してくれて良かったです。

あなたはすでにFieldStorageを持っているので、私が答えるのは簡単です;-)

フォームフィールドの名前を取得したい場合は、印刷してform.keys()ください。

他の部分は少しトリッキーです。form.key() をループして独自のロジックを記述し、キーのベースで値を取得できます。

ここにコンパイル済みのコードを書きましたが、必要に応じてカスタマイズできます。

variable = ""
value = ""
r = ""
for key in form.keys():
        variable = str(key)
        value = str(form.getvalue(variable))
        r += "<p>"+ variable +", "+ value +"</p>\n" 

fields = "<p>"+ str(r) +"</p>"        

乾杯、

于 2013-11-08T16:05:32.763 に答える