English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Cookies werden in Form von Textdateien auf dem Clientrechner gespeichert. Zwecks ist es, Daten zu erinnern und zu verfolgen, die mit der Nutzung des Kunden zusammenhängen, um eine bessere Zugriffs- und Benutzererfahrung sowie Website-Statistiken zu erhalten.
Das Request-Objekt enthält ein Cookie-Attribut. Es ist ein Dictionary-Objekt mit allen Cookie-Variablen und ihren entsprechenden Werten, die der Client gesendet hat. Außerdem werden die Ablaufzeit, der Pfad und der Domänennamen der Website im Cookie gespeichert.
In Flask werden Cookies auf dem Antwortobjekt gesetzt. Das Antwortobjekt wird mit der make_response()-Funktion aus dem Rückgabewert der Ansichtsfunction erhalten. Danach wird die set_cookie()-Funktion des Antwortobjekts verwendet, um den Cookie zu speichern.
Das Neulesen von Cookies ist einfach. Man kann die Methode get() des request.cookies-Attributs verwenden, um Cookies zu lesen.
In der folgenden Flask-Anwendung wird, wenn auf URL => zugegriffen wird / wird ein einfaches Formular geöffnet.
# Dateiname : example.py # Urheberrecht : 2020 Durch w3codebox # Autor durch: de.oldtoolbag.com # Datum : 2020-08-08 @app.route('/) def index(): return render_template('index.html')
Diese HTML-Seite enthält ein Textfeld, der vollständige Quellcode ist wie folgt: -
# Dateiname : example.py # Urheberrecht : 2020 Durch w3codebox # Autor durch: de.oldtoolbag.com # Datum : 2020-08-08 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Flask Cookies Beispiel</title> </head> <body> <form action="/setcookie" method="POST"> <p><h3>Eingabe userID</h3></p> <p><input type='text' name='name'>/></p> <p><input type='submit' value='Anmelden'>/></p> </form> </body> </html>
Formular wird an URL gesendet => /setcookie. Der zugehörige Ansichtsfunction setzt einen Cookie-Namen: userID, und zeigt ihn auf einer anderen Seite an.
# Dateiname : example.py # Urheberrecht : 2020 Durch w3codebox # Autor durch: de.oldtoolbag.com # Datum : 2020-08-08 @app.route('/setcookie', methods=['POST', 'GET']) def setcookie(): if request.method == 'POST': user = request.form['name'] resp = make_response(render_template('readcookie.html')) resp.set_cookie('userID', user) return resp
readcookie.html enthält Hyperlinks zu einer anderen Funktion getcookie() der Ansicht, die den Cookie-Wert liest, zurückgibt und im Browser anzeigt.
# Dateiname : example.py # Urheberrecht : 2020 Durch w3codebox # Autor durch: de.oldtoolbag.com # Datum : 2020-08-08 @app.route('/getcookie') def getcookie(): name = request.cookies.get('userID') return '<h1>willkommen ''+name+"</h1"
Der vollständige Quellcode der Anwendung ist wie folgt: -
# Dateiname : example.py # Urheberrecht : 2020 Durch w3codebox # Autor durch: de.oldtoolbag.com # Datum : 2020-08-08 from flask import Flask from flask import render_template from flask import request from flask import make_response app = Flask(__name__) @app.route('/) def index(): return render_template('index.html') @app.route('/setcookie', methods=['POST', 'GET']) def setcookie(): if request.method == 'POST': user = request.form['name'] resp = make_response(render_template('readcookie.html')) resp.set_cookie('userID', user) return resp @app.route('/getcookie') def getcookie(): name = request.cookies.get('userID') print (name) return '<h1>willkommen, ''+name+"</h1" if __name__ == '__main__': app.run(debug=True)
Führen Sie die Anwendung aus und rufen Sie die URL auf => http://localhost:5000/Das Einstellen von Cookie-Ergebnis wie folgt dargestellt: -
Der Ausgabe von cookie neu gelesen wie folgt: -