2016-06-11 13 views
-2

Ich bekomme eine 400 Bad Request, wenn ich versuche, mein Flask-Projekt zu starten.400 Schlechte Anfrage (Flask + html)

Ich muss ein Projekt mit Flask und HTML machen, und es sollte ein Gruppenprojekt sein, also müssten die Mitglieder verschiedene Teile davon lernen, um dann alles zu sammeln. Leider meine 'Gruppe' nicht bei allen

nichts getan Hier ist mein Code:

Flask

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

Was ist Ihre Frage? –

+0

Ich habe gerade dieses Konto erstellt, ich wusste nicht, ob ich meine Erklärung vereinfachen sollte oder nicht – naumpossoesquecer

+0

Nun, mein Code sollte eine App sein ... Ich habe nur versucht, Flasche mit HTML zu integrieren, aber der Fehler "400 schlecht Anfrage "passiert immer. Ich bin nicht sicher, was ich tun soll, um diese Arbeit zu machen – naumpossoesquecer

Antwort

2

Sie versuchen die request.form Wörterbuch zugreifen , immer:

button = request.form["button"] 

Das löst einen Antwortfehler 400 aus, wenn in dem Formular kein solcher Wert ist. Dies ist immer der Fall, wenn Sie eine GET Anfrage haben, wird request.form nur ausgefüllt, wenn es POST Daten in einem gültigen Format gibt.

nur versuchen, die Schaltfläche zuzugreifen, wenn Sie bereits Sie eine POST Anfrage haben bestätigt:

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") 

Als nächstes müssen Sie nicht tatsächlich jede Form Element namensbutton. Sie haben buttonFormularelemente, aber keine haben einen Namen. Geben Sie alle Ihre Tasten die gleiche name Attribut, Variation der Wert Attribut:

<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> 

Beachten Sie, dass die <button Tags zu fehlerhaft.

Verwandte Themen