2017-06-03 2 views
-1

J'ai un bouton de soumission très simple en HTML, mais ça ne marche pas.Le bouton le plus simple ne fonctionne pas

main_page.html

<form class="main_page" method="POST" action="."> 
    <div class="form-row"> 
     <input type="submit" name="invoer" value="Invoeren"/> 
    </div> 
</form> 

flask_app.py

from flask import Flask, render_template, request 

app = Flask(__name__) 
app.config["DEBUG"] = True 

@app.route("/", methods=["GET", "POST"]) 

def main(): 
    if request.method == "GET": 
     return render_template("main_page.html") 

    if request.form["invoer"] == "POST": 
     return render_template("main_page.html") 

Lorsque je clique sur le bouton, il me montre ceci:

------ -------------------------------------------------- -------------------------------------------------- ------------------------- - https://i.gyazo.com/65bb8c9fa02d007a8ed8d3d465412e4f.png


je l'ai déjà fait un bouton comme ça avant mais ça a marché, peut-être je l'ai fait quelque chose de différent. Que devrais-je faire?

+1

1. Alors avez-vous regardé les journaux; et 2. est-ce vraiment votre HTML? C'est évidemment cassé. – jonrsharpe

+0

1. Oui, je l'ai déjà fait, mais il me donne ce https://pastebin.com/pZE0KY3E et je ne sais pas pourquoi et ce que cela signifie. 2. Le HTML est seulement une partie du fichier html complet, j'ai ajouté le '' <'' qui m'a manqué lors de la copie. Pourquoi le downvote .... – Jip1912

+0

Mettez un [mcve] * dans la question *. – jonrsharpe

Répondre

1

L'erreur indique que ValueError: View function did not return a response, cela signifie que votre POST n'a renvoyé aucune réponse au modèle lorsque vous cliquez sur le bouton Envoyer en HTML. CHAGNE votre code flask_app.py à:

from flask import Flask, render_template, request 

app = Flask(__name__) 
app.config["DEBUG"] = True 

@app.route("/", methods=["GET", "POST"]) 

def main(): 
    if request.method == "GET": 
     return render_template("main_page.html") 

    if request.method == "POST": # change code here 
     return render_template("main_page.html") 

Cela fera cela fonctionne, cependant, il retournera tout le même modèle.

+0

Voilà ce dont j'avais besoin! Merci :) – Jip1912

+0

@ Jip1912 s'il vous plaît marquer comme accepter la réponse si c'est une solution, merci :) –