Flasche - Kekse

Ein Cookie wird in Form einer Textdatei auf dem Computer eines Clients gespeichert. Ihr Zweck ist es, Daten zu speichern und zu verfolgen, die sich auf die Nutzung eines Kunden beziehen, um eine bessere Besuchererfahrung und Site-Statistiken zu erzielen.

EIN Request objectenthält das Attribut eines Cookies. Es ist ein Wörterbuchobjekt aller Cookie-Variablen und ihrer entsprechenden Werte, die ein Client übertragen hat. Darüber hinaus speichert ein Cookie auch die Ablaufzeit, den Pfad und den Domainnamen der Site.

In Flask werden Cookies für das Antwortobjekt gesetzt. Verwendenmake_response()Funktion zum Abrufen des Antwortobjekts vom Rückgabewert einer Ansichtsfunktion. Verwenden Sie danach dieset_cookie() Funktion des Antwortobjekts zum Speichern eines Cookies.

Ein Cookie zurückzulesen ist einfach. Dasget() Methode von request.cookies Das Attribut wird zum Lesen eines Cookies verwendet.

In der folgenden Flask-Anwendung wird beim Besuch ein einfaches Formular geöffnet ‘/’ URL.

@app.route('/')
def index():
   return render_template('index.html')

Diese HTML-Seite enthält eine Texteingabe.

<html>
   <body>
      <form action = "/setcookie" method = "POST">
         <p><h3>Enter userID</h3></p>
         <p><input type = 'text' name = 'nm'/></p>
         <p><input type = 'submit' value = 'Login'/></p>
      </form>
   </body>
</html>

Das Formular wird an gesendet ‘/setcookie’URL. Die zugehörige Ansichtsfunktion legt einen Cookie-Namen festuserID und rendert eine andere Seite.

@app.route('/setcookie', methods = ['POST', 'GET'])
def setcookie():
   if request.method == 'POST':
   user = request.form['nm']
   
   resp = make_response(render_template('readcookie.html'))
   resp.set_cookie('userID', user)
   
   return resp

‘readcookie.html’ enthält einen Hyperlink zu einer anderen Ansichtsfunktion getcookie(), der zurückliest und den Cookie-Wert im Browser anzeigt.

@app.route('/getcookie')
def getcookie():
   name = request.cookies.get('userID')
   return '<h1>welcome '+name+'</h1>'

Führen Sie die Anwendung aus und besuchen Sie http://localhost:5000/

Das Ergebnis des Setzens eines Cookies wird folgendermaßen angezeigt:

Die Ausgabe des zurückgelesenen Cookies wird unten gezeigt.