Hallo Ich versuche, eine einfache Umfrage-App zu erstellen, wo, wenn Sie das Formular ausfüllen, bewegt es Sie auf eine Seite, wo Sie die Ergebnisse Ihrer Umfrage anzeigen können.Formvalidierung Verknüpfung zu anderen Seite in Kolben
Das aktuelle Problem, das ich habe, ist dies "Die Methode ist nicht für die angeforderte URL erlaubt."
Sever.py:
from flask import Flask, flash, session, render_template, request, redirect, url_for
app = Flask(__name__)
app.secret_key = 'very secret'
@app.route('/')
def index():
return render_template('index.html')
@app.route('/process', methods=['POST'])
def process():
if len(request.form['name']) < 1 or len(request.form['comments']) < 1:
flash("you need to fill out the name and comments")
else:
return redirect(url_for('createUser'))
return redirect('/')
@app.route('/results', methods=['POST'])
def createUser():
return render_template('results.html', name=request.form['name'],
location=request.form['location'], favLang=request.form['favLang'],
comments=request.form['comments'])
return redirect('/')
app.run(debug=True)
Die if/else-Anweisung funktioniert weil ich meine Flash, wenn ich einen Namen oder Kommentar nicht eingeben. Ich kann den anderen einfach nicht dazu bringen, richtig zur app.route ('/ results') zu gehen. Ich habe auch versucht es mit diesem ohne Erfolg:
@app.route('/process', methods=['POST'])
def process():
if len(request.form['name']) < 1 or len(request.form['comments']) < 1:
flash("you need to fill out the name and comments")
else:
return redirect('/results')
return redirect('/')
Erstellen Sie einfach den Benutzer, es ist nicht notwendig, zu einer anderen Ansicht/Anfrage umzuleiten, Sie haben bereits alle Daten in der ersten Anfrage. – davidism
Ihr ein Genie. Danke für die Hilfe. (Tunnel Vision wissen Sie) – BatsAuto