Python >> Tutoriel Python >  >> Python

Les Flask-Cookies expliqués et comment les utiliser ?

Dans cette partie du didacticiel Flask, nous allons en savoir plus sur les cookies dans Flask. Nous allons également apprendre pourquoi sont-ils essentiels pour toute page Web et comment les mettre en œuvre dans notre page Web.

Fiole – Cookies

Un cookie est généralement enregistré sous la forme d'un fichier texte dans la machine du client. L'objectif principal d'un cookie est de mémoriser et de suivre les données de l'utilisateur concernant l'utilisation de l'utilisateur pour améliorer l'expérience du visiteur et de meilleures statistiques globales du site.

L'attribut des cookies est contenu dans la demande objet . Il s'agit d'un type de données de dictionnaire et fournit toutes les variables de cookie et leurs valeurs ; un client a transmis dans un objet dictionnaire. Un cookie stocke également l'heure d'expiration, le chemin et le domaine du site en plus des variables et des valeurs des cookies.

Les cookies dans Flask sont définis sur l'objet de réponse. Nous pouvons utiliser le make_response() fonction pour obtenir l'objet de réponse à partir de la valeur de retour de la fonction de vue. Après avoir obtenu l'objet de réponse, nous pouvons utiliser le set_cookie() fonction pour stocker ce cookie dans un dictionnaire.

Jusqu'à présent, la création et le stockage d'un cookie est une tâche assez mouvementée, mais l'accès à un cookie est relativement facile. Nous pouvons utiliser le get() méthode de request.cookies fonction pour obtenir un cookie.

Dans l'application flask suivante, l'ouverture de l'URL "/" nous redirige vers un formulaire simple.

@app.route('/')
def index():
#renders thr index.html template
   return render_template('index.html')

La page HTML suivante contient un texte d'entrée.

<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>

Ensuite, ce formulaire est publié dans le ‘/setcookie’ URL. Puis le u serID est défini comme nom du cookie, puis affiche une nouvelle page.

@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

Puis le 'readcookie.html' contient un lien hypertexte qui redirige vers une autre fonction getcookie() , puis il lit la valeur du cookie et affiche la valeur dans le navigateur.

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

Exécutez maintenant l'application ci-dessus à partir du shell python et accédez au port localhost:5000 pour voir la magie se produire.

J'espère que vous avez compris l'exemple de code et l'explication de ce tutoriel.