J'ai un site Web qui affiche un contenu différent en fonction d'un emplacement choisi par le visiteur. Par exemple: l'utilisateur entre 55812 comme zip. Je sais quelle ville et quelle région lat / long. c'est-à-dire et leur donner leur contenu pertinent à ce domaine. Ma question est de savoir comment puis-je stocker cela dans un cookie afin que, lorsqu'ils reviennent, ils ne soient pas obligés de toujours saisir leur code postal?
Je le vois comme suit:
- Définissez un cookie persistant en fonction de leur zone.
- Quand ils retournent le cookie de lecture, saisissez le code postal.
- Renvoyez le contenu en fonction du code postal de leur cookie.
Je ne parviens pas à trouver d'informations solides sur la configuration d'un cookie. Toute aide est grandement appréciée.
cookie
etrendering a template
ensemble, voir cette réponse.Réponses:
MISE À JOUR : vérifiez la réponse de Peter ci-dessous pour une solution intégrée:
Ceci est une aide pour définir un cookie persistant:
Utilisez le code suivant avant d'envoyer une réponse.
MISE À JOUR : vérifiez la réponse de Peter ci-dessous pour une solution intégrée:
la source
L'utilisation du cadre de session de Django devrait couvrir la plupart des scénarios, mais Django fournit également maintenant des méthodes de manipulation directe des cookies sur les objets de requête et de réponse (vous n'avez donc pas besoin d'une fonction d'assistance).
Définition d'un cookie:
Récupération d'un cookie:
la source
Vous pouvez définir manuellement le cookie, mais en fonction de votre cas d'utilisation (et si vous souhaitez ajouter plus de types de données persistantes / de session à l'avenir), il peut être plus judicieux d'utiliser la fonctionnalité de sessions de Django . Cela vous permettra d' obtenir et de définir des variables liées en interne au cookie de session de l'utilisateur. Ce qui est cool à ce sujet, c'est que si vous souhaitez stocker beaucoup de données liées à la session d'un utilisateur, le stockage de tout cela dans des cookies ajoutera beaucoup de poids aux requêtes et réponses HTTP. Avec les sessions, le cookie de session est tout ce qui est envoyé dans les deux sens (bien qu'il y ait une surcharge pour Django de stocker les données de session à garder à l'esprit).
la source
Toute personne intéressée par cette opération doit lire la documentation du framework Django Sessions . Il stocke un identifiant de session dans les cookies de l'utilisateur, mais mappe toutes les données de type cookies à votre base de données. Il s'agit d'une amélioration par rapport au flux de travail classique basé sur les cookies pour les requêtes HTTP.
Voici un exemple avec une vue Django ...
Si vous continuez à visiter la page encore et encore, vous verrez la valeur commencer à augmenter de 1 jusqu'à ce que vous effaciez vos cookies, que vous visitiez un nouveau navigateur, que vous passiez en mode navigation privée ou que vous fassiez toute autre chose qui évite le cookie d'identification de session de Django.
la source