2017-12-04 5 views
0

私はbottle.pyアプリケーションを使用して、HTMLフォームページと、名前のフォーム応答を受け取った結果ページを接続します。私が辞書に組み込んだ対応する値。request.forms.getがbottle.pyアプリケーションで動作していません

これは私がリンクアップしようとしているHTMLコードです:

<select id = "sample"> 
       <option value = "Basketball">Basketball</option> 
       <option value = "Golf">Golf</option> 
       <option value = "Football">Football</option> 

そして、それは選択肢を取り、対応する値

from bottle import request 

top = request.forms.get('sample') 
val = d[top] 
answer = float[val] 

に変換します。そして、これがある場合、これはあります私のボトルのアプリコード

from bottle import default_app, route, post, template 

@route('/') 
def form(): 
    return template('form.html') 

@post('/convert') 
def convert(): 
    return template('result.html') 

application = default_app() 

しかし、これを実行すると、KeyError:Noneと表示されます。だから私はそれが私の辞書の問題だと思っていましたが、辞書を単独で走らせると、それは必要なように印刷されました。そこで、request.forms.get行以外のすべてのセクションをコメントアウトして名前を取得しているかどうかを調べ、変数を出力しようとしました。変数が定義されていないので、問題がどこにあるのかが分かりました。誰でもこの問題が何であるかを見ていますか?

答えて

0

グローバルオブジェクトであるにもかかわらず、requestはリクエスト - 応答サイクル中にのみ初期化されるため、モジュールのグローバルスコープではなく、ルート関数内でのみアクセスする必要があります。

関連する問題