ich versuche mit Flask ein Script zu erstellen, welches den Nutzer um Eingaben bittet und diese dann am Ende ausgibt. Als Beispiel habe ich hier Name und Geschlecht genommen.
Auf der ersten Seite (Index) frage ich den Namen ab.
Auf der zweiten Seite (site_2) gebe ich den Namen aus und frage nach dem Geschlecht.
Auf der dritten Seite (site_3) möchte ich den Namen und das Geschlecht ausgeben.
Das Geschlecht ist kein Problem aber wie bekomme ich den Namen von der Index-Seite (oder von der zweiten Seite) auf die dritte Seite ohne ihn in der URL zu übergeben?
Code: Alles auswählen
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/", methods = ['GET','POST'])
def index():
return render_template('index.html')
@app.route("/site_2", methods = ['POST'])
def site_2():
if request.method == 'POST':
name = request.form['name']
return render_template('site_2.html', name = name)
@app.route("/site_3", methods = ['POST'])
def site_3():
if request.method == 'POST':
gender = request.form['radio_button']
return render_template('site_3.html', gender = gender)
if __name__ == '__main__':
app.run(debug = True)
Code: Alles auswählen
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Index</title>
</head>
<body>
<h1>Index</h1>
<form action="http://localhost:5000/site_2" method="post">
<label>Name</label>
<input type="text" name="name">
<input type="submit" value="Send" >
</form>
</body>
</html>
Code: Alles auswählen
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Site 2</title>
</head>
<body>
<h1>Site 2</h1>
<h2>Hello {{ name }}</h2>
<form action="http://localhost:5000/site_3" method="post">
<input type="radio" name="radio_button" id="radio_male" value="radio_male">
<label for="radio_male">Male</label>
<input type="radio" name="radio_button" id="radio_female" value="radio_female">
<label for="radio_female">Female</label>
<input type="submit" value="Send">
</form>
</body>
</html>
Code: Alles auswählen
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Site 3</title>
</head>
<body>
<h1>Site 3</h1>
<p>Name: {{ name }}</p>
<p>Gender: {{ gender }}</p>
</body>
</html>