2016-09-23 19 views
0

内の別は、私は、フォームを持っている..私は非常にフラスコに新しいフロントエンド・プログラミング午前 、だから、フラスコ

を1つのルートから値を伝播します私は..あなたがHTML形式で..私は二つのフィールドを持っていることを、見ることができ、

@app.route('/web/search', methods=['post','get']) 
def search(): 
    print request.method, request.form 

だから、フラスコ内に取り込むい

すでにデフォルト値を持っている210

名(テキストボックス)は、両方のこれらのフィールドは は、バックエンド

で受信され、ユーザは、「送信」押したときに私の意図は、ある、

とoption_list

を設定し、しかし、印刷の声明は..

POST ImmutableMultiDict([('movie', u'foobar')]) 

私は名前のフィールドが表示されますか?

これを修正するにはどうすればよいですか?

+0

ブラウザには、リクエストに無効なフィールドが含まれているとは思われません。 – dirn

+0

@dirn:\tユーザーがフォームを送信したときにこの名前を渡したいと思います。これを取得するにはどうすればよいでしょうか? – Fraz

+0

可視である必要がある場合は、 'readonly'を使用できます。そうでなければ、それを隠すだけです。 – dirn

答えて

3

valueの最初のinputについては引用符がありません。また、無効入力が渡されることはありません

values of disabled inputs will not be submited?

+0

私は実際にわかっているのですか? – Fraz

+0

2行目の 'value'属性に引用符がありません。 – postelrich

+0

しかし、どうすればそれを引用符で囲みますか 値= "{{名前}}"? – Fraz

1

あなたは両方GETPOST要求を許可されていますが、あなたのコードでそれらを区別しません。ユーザーがそれらの値を送信したときにそれらの値を取得する場合は、その形式がPOSTのときに何かをする必要があります。おそらくのようなもの:

@app.route('/web/search/', methods=['POST','GET']) 
def search(): 
    if request.method == 'POST': 
     print request.method, request.form 
     # do some stuff 
     return redirect(url_for('search_results', results=results)) 
    else: 
     return render_template('my_template.html') 

はその後、if声明の中で、あなたは変数で物事を行うことができます。ここの想像上のケースでは、ユーザーを検索結果を表示できる別のWebページに送信しています。私はちょうどrender_template()のテンプレート名を作ったので、テンプレートが実際に呼び出されたものを代用することができます。

関連する問題