0

値がすべて 1 つの送信ボタンによって別の URL に渡される複数のチェックボックスとテキスト ボックスを持つフォームがあります。ただし、新しい URL ページを書き込もうとしていますが、それらの値にアクセスする方法がわかりません。

<form name="myform" action="result" method = "get">

        <fieldset>
            <input type="checkbox" value="total_money" name="check" onchange="javascript:toggle('money');" /> Filter by Total Money</br>

                <div id="money" style="display:none" name="option">  

                    <input type="checkbox" value="more" onchange="javascript:toggleLine('money_text');"  name="condition"/> <label for="condition" > > </label>

                        <div id = "money_text" style="display:none"  >
                            <input type="text" id="money_box" name="money_name" value="lower limit" />
                        </div></br>

                    <input type="checkbox" value="less" onClick="javascript:toggleLine('money_text1');" name="condition"/> <label for="condition1"> < </label>

                        <div id = "money_text1" style="display:none;"  >
                            <input type="text" id="money_box1" name="money_name1" value="upper limit" />
                        </div>

                </div>

            <input type="checkbox" value="employees" name="check" onchange="javascript:toggle( 'employees');"/> Filter by Employees</br>

                <div id="employees" style="display:none" name="option"> 

                    <input type="checkbox" value="more" onchange="javascript:toggleLine('employees_text');" name="condition"/> <label for="condition" > > </label>

                        <div id = "employees_text" style="display:none"  >
                            <input type="text" id="employees_box" name="employees_name" value="lower limit" />
                        </div></br>

                    <input type="checkbox" value="less" onClick="javascript:toggleLine('employees_text1');" name="condition"/> <label for="condition1"> < </label>

                        <div id = "employees_text1" style="display:none;"  > 
                            <input type="text" id="employees_box1" name="employees_name1" value="upper limit" />
                        </div>
                </div>                         
        </fieldset>
    <input type="submit" value="Submit" />
</form>​

私が得たURL応答は次のようになります(チェックしたかどうか/入力に依存します):

url:   http://127.0.0.1:8000/crunchApp/result?check=total_money&condition=more&money_name=lower+limit&money_name1=upper+limit&check=employees&employees_name=lower+limit&condition=less&employees_name1=upper+limit

この基準を、データベースを検索する python メソッドのパラメーターとして使用する必要がありますが、その方法がわかりません。どんな助けでも大歓迎です!

4

2 に答える 2

0

これに似たものを使用したい場合は、ボトルでこれを簡単に行うことができます。

from bottle import route,request,static_file,template

@route('/mypage',method="GET")
def get_mypage():
    #return static_file('mypagetopost.html')  #you can use either static_file or template
    return template('mypagetopost.tpl')
@route('/mypage',method="POST")
def post_mypage():
    money_text=request.forms.get("money_text")  #you get the value of the form by getting it by name.
    #return "Your money_text text was:%s" % money_text
    return template('yourposttemplate.tpl',yourpostpagevarformoney_text=money_text) #you can pass variables to your template through returning the template, however you cannot do this with static_file

action="/mypage" method="post"必要なHTMLページを微調整する:送信に:を追加します。

また、デフォルトでボトル付きのWSGIサーバーを使用する場合は、静的ファイルハンドラー(css / js / static html用)をセットアップし、それに応じてリンクを変更する必要があることに注意してください。

于 2012-08-24T19:43:41.723 に答える
0

これはちょっと検索すれば出てきました。

http://www.daniweb.com/software-development/python/threads/22312/get-posted-form-data-in-python

python cgi script--->addDo.cgi

import cgitb; cgitb.enable()
import cgi
import sys
form = cgi.FieldStorage()

// THIS IS WHERE THE VARIABLE IS READ FROM THE HTTP FORM POST
photos = form["photolist"]

i=0
for photo in photos:
    i = i + 1
    finalPhoto = finalPhoto + "," + photo[i]
于 2012-08-24T00:16:18.623 に答える