2017-11-10 23 views
0

私はsida2でボタンを作ってresultatに持ってきて、入力フォームからMJという名前の情報を投稿しようとしていますが、エラー404が表示されますサーバーと私はなぜ理解していない。これは、HTMLの一部です:404が見つかりません "要求されたURLが見つかりませんでした"

<form action="/sida2/resultat.html" method="POST"> 
<input title="" placeholder="MJ/kq foder" type="text" name="MJ" required> 
<br> 
<button type="submit">Submit</button> 
</form> 

そして、これはPythonの一部です:

from flask import Flask, render_template, request 

app=Flask(__name__) 

@app.route('/') 
def home(): 
    return(render_template("hemsida.html")) 


@app.route('/sida2/', methods=['POST', 'GET']) 
def sida2(): 
    return(render_template("andrasidan.html")) 


@app.route('/sida2/resultat', methods=['POST']) 
def resultat():  
    if request.method=='POST':  
     mj= request.form["MJ"] 



    return(render_template("resultat.html")) 

if __name__ =="__main__": 
    app.run(debug=True) 

私はそれが私が欠けているが、私はちょうどそれを見つけるように見えることはできません明らかに何かを前提としています。

+2

あなたのフォーム 'action'は、' .html'ファイルではなく、 '/ sida1/resultat'エンドポイントに当てはまるはずです。 –

答えて

2

FlaskビューのURLを生成するのにurl_forを使用してください。目的のビューはresultatです。

<form action="{{ url_for('resultat') }}" method="POST"> 

これはあなたのresultat()機能のための適切なURLを生成します。

@app.route('/sida2/resultat', methods=['POST']) 
def resultat(): 

あなたのコードではなくURL /sida2/resultatに結合するようあなたが現在お使いのフォームアクション(/sida2/resultat.html)を持っているURLが機能しません。

url_forをURLのハードコーディングに使用する理由の概要を確認するには、the Flask quickstart section on the topicをチェックしてください。

関連する問題