Dokumentation, und noch wichtiger, einige Codebeispiele wären sehr nützlich. Ich würde es vorziehen, dass dies nicht in geschützten Skripten ist, sondern in dem Code, der in moderne Pakete einfließt.Wie erhalten und setzen Sie Cookies in Zope und Plone?
Antwort
die response.setCookie()
Methode verwenden. Sie können das Antwortobjekt über das Anfrageobjekt erreichen. Letztere Sie über Erwerb (self.REQUEST
) erreichen kann, oder in den Ansichten von den übergebenen in Request-Objekt zugegriffen wird, in der Regel über self.request
:
self.request.response.setCookie(name, value, **options)
wo options
Ende nach oben als zusätzliche Cookie-Parameter. So ein Cookie in ein nicht-Session-Cookie Drehen erfordert ein expires='date'
Schlüsselwort, die Begrenzung die Cookie auf einen Pfad ist ein path='/somepath'
Schlüsselwort zur setCookie()
Methode. Hier gelten die üblichen Browser-Cookie-Regeln.
ein Cookie abzulaufen bereits im Browser so einstellen, können Sie entweder einen expires='date in the past'
Stichwort, oder Sie können die response.expireCookie()
Methode verwenden, die dies für Sie tut:
self.request.response.expireCookie(name, **options)
In diesem Fall können Sie immer noch enthalten kann Optionen wie die path
oder andere Cookie-Flags, aber die Methode wird die max_age
und expires
Optionen außer Kraft setzt das Cookie, um sicherzustellen, werden vom Browser gelöscht.
Obwohl Sie SESSION
Unterstützung der Zope verwenden könnte, müssen Sie wirklich durch die Skalierbarkeit Probleme denken. Beispielsweise müssen Sie darüber nachdenken, wie Sitzungsdaten in einem Cluster gemeinsam genutzt werden, wenn Sie ZEO oder RelStorage verwenden. Es ist im Allgemeinen vorzuziehen, SESSION
insgesamt zu vermeiden, wenn Skalierbarkeit ein Problem sein wird.
Cookies Sie RESPONSE.setCookie verwenden einzustellen.
>>> self.REQUEST.RESPONSE.setCookie('cookiename', 'cookievalue', expires='Wed, 22 June 2009 12:00:00 GMT')
Der Cookie wird in der nächsten Anfrage in der REQUEST enden.
>>> self.REQUEST['cookiename']
'cookievalue'
Sie löschen den Cookie, indem Sie None
als Wert verwenden.
** Beachten Sie jedoch, dass die meisten Zeiten, wenn Leute Cookies verwenden, es ist, Variablen zu speichern, die mit Sitzungen zu tun haben, und Sie können self.REQUEST.SESSION dafür verwenden, es ist einfacher.
- 1. 301 Redirect in Plone CMS (Zope)
- 2. Wie setzen Sie Cookies in eckigen?
- 3. Plone und Asp.Net Integration
- 4. Wie kann ich Cookies (Serverseite) in Meteor setzen und bekommen?
- 5. Plone Ausgabe mit Versionierung - Objektversionen auf Schnitt verloren und einfügen
- 6. plone + formlib: Wie form.pt
- 7. Javascript - Setzen eines Cookies und ziehen in ID
- 8. ID erhalten und in Werte setzen
- 9. Setzen des Cookies in LiftFilter
- 10. Setzen Sie und erhalten Sie ID auf Kontrollkästchen
- 11. Wie erhalten Sie Cookies von Drittanbietern?
- 12. IE7 und TinyMCE mit Plone
- 13. Wie Sie {und} in eine Formatzeichenkette setzen
- 14. Setzen mehrerer Cookies in Javascript
- 15. Erhalten Sie Cookies von httpwebrequest
- 16. Ankündigungsleiste, Setzen eines Cookies
- 17. Erhalten Sie Cookies Parameter in PHP?
- 18. Jquery-Funktion zum Erkennen von Cookies und setzen Fokus
- 19. php: Setzen von Cookies und Abrufen von ihnen?
- 20. Packing Plone Daten
- 21. Spring 3.0 setzen und erhalten Sitzungsattribut
- 22. Wie kombiniere ich mehrere Plone-Sites in einer Site?
- 23. Wie funktionieren Sitzungen und Cookies in Rails?
- 24. HttpsURLConnection und Cookies
- 25. Kombination von Cookies und Sitzungen
- 26. Wie speichern Sie mehrere Benutzernamen und Passwort in Cookies C#?
- 27. Django Cookies und Header
- 28. PHP- und JavaScript-Cookies
- 29. Cookies und ASP.NET Core
- 30. Cookies und Sitzungen in Host
Vielen Dank für diese Antwort! Wir laufen mit 3-4 Instanzen pro Zope-Anwendung, so dass wir uns nicht darum kümmern müssen, welche Instanz wir treffen, ist eine sehr nette Sache. – pydanny