2016-06-11 195 views
-2

當我嘗試運行我的Flask項目時,我不斷收到400錯誤請求。400錯誤請求(Flask + html)

我必須使用Flask和HTML做一個項目,它應該是一個組項目,所以成員必須學習它的不同部分才能收集所有內容。可悲的是,我的 '組' 並沒有做到在所有

這東西是我的代碼:

app = Flask(__name__, static_url_path="") 


@app.route('/', methods=['POST','GET' ]) #1 - Login e criar conta 

def PagInicio(): 
    button = request.form["button"] 
    if request.method == 'POST': 
     if button == "login": 
      return render_template("Princ.html") 
     elif button =="criar": 
      return render_template("Criar.html") 
     else: 
      return render_template("Inicio.html") 

    return render_template("Inicio.html") 

HTML:

<div class="col_12"> 
    </div> 

    <!-- Tab 3 - Perfil --> 
    <div id="tabr3" class="tab-content"> 
     <div class="grid"> 

      <div class="col_2"></div> 
      <div class="col_8"> 
       <form class="vertical" method="POST" action="/"> 
       <fieldset> 


        <div class="grid"> 


         <div class="col_6"> 
         <label for="usuario">Usuário</label> 
         <input id="usuario" name="usuario" type="text" /> 
         </div> 

         <div class="col_6"> 
         <label for="senha">Senha</label> 
         <input id="senha" name="senha" type="password" /> 
         </div> 

         <div class="col_12 center"> 
         <button class="medium" value="login"</i> Login</button> 
         </div>    

            <div class="col_12 center"> 
            <button class="medium" value="criar"</i> Criar</button> 
            </div> 

       </form> 
      </div> 
      <div class="col_2"></div> 
     </div> 
    </div> 

</div> 
<div class="col_1"></div> 
</div> 
+0

你的問題是什麼? –

+0

我剛剛創建了這個帳戶,我不知道我是否應該簡化我的解釋 – naumpossoesquecer

+0

好吧,我的代碼應該是一個應用程序...我只是想整合燒瓶與HTML,但錯誤「400壞請求「不斷髮生。我不知道我該怎麼做才能做到這一點 – naumpossoesquecer

回答

2

您試圖訪問request.form詞典,總是

button = request.form["button"] 

如果表單中沒有這樣的值,則會拋出400響應錯誤。這是總是如果您有GET請求,則request.form僅在有效格式爲POST數據時填充。

只有嘗試訪問該按鈕時,你已經確定你有一個POST要求:

def PagInicio(): 
    if request.method == 'POST': 
     button = request.form["button"] 
     if button == "login": 
      return render_template("Princ.html") 
     elif button =="criar": 
      return render_template("Criar.html") 
     else: 
      return render_template("Inicio.html") 

    return render_template("Inicio.html") 

接下來,你實際上並沒有一個名爲button任何形式的元素。您有button表單元素但沒有名稱。給所有的按鈕一樣name屬性,不同屬性的值:

<div class="col_12 center"> 
<button class="medium" name="button" value="login"> Login</button> 
</div>    

<div class="col_12 center"> 
<button class="medium" name="button" value="criar"> Criar</button> 
</div> 

請注意,您的格式不正確標籤<button過。