0 Pluspunkte 0 Minuspunkte
Wie kann ich HTTP Cookies setzen, lesen und löschen mit Flask?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

In Flask kannst du Cookies setzen, lesen und löschen, indem du die request und make_response Objekte verwendest, die von der Flask Bibliothek bereitgestellt werden.

Um ein Cookie zu setzen, kannst du die Funktion make_response verwenden, um ein Antwortobjekt zu erstellen, und die Methode .set_cookie(), um das Cookie in den Antwort Headern zu setzen.

from flask import Flask, make_response

app = Flask(__name__)

@app.route('/')
def set_cookie():
    response = make_response("Cookie wurde gesetzt!")
    response.set_cookie("user_id", "12345")
    return response

if __name__ == '__main__':
    app.run()

Du kannst Cookies aus dem request-Objekt mithilfe des .cookies-Dictionaries lesen.

from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def read_cookie():
    user_id = request.cookies.get("user_id")
    if user_id:
        return f"Benutzer-ID: {user_id}"
    else:
        return "Benutzer-ID nicht in Cookies gefunden"

if __name__ == '__main__':
    app.run()

Um ein Cookie zu löschen, kannst du ein abgelaufenes Datum in der Vergangenheit für das Cookie setzen, indem du den Parameter expires in der set_cookie-Methode verwendest. Dadurch wird das Cookie effektiv vom Client entfernt.

from flask import Flask, make_response

app = Flask(__name__)

@app.route('/')
def delete_cookie():
    response = make_response("Cookie wurde gelöscht!")
    response.set_cookie("user_id", "", expires=0)
    return response

if __name__ == '__main__':
    app.run()
von