ドキュメント、さらに重要なことに、いくつかのコード例は非常に役立ちます。これは、保護されたスクリプトではなく、最新のパッケージに含まれるコードに含めることをお勧めします。
2 に答える
メソッドを使用しresponse.setCookie()
ます。request オブジェクトを介して response オブジェクトに到達できます。後者には取得 ( ) を介して到達するself.REQUEST
か、通常は を介して、渡されたリクエスト オブジェクトにアクセスすることでビューに到達できself.request
ます。
self.request.response.setCookie(name, value, **options)
追加のoptions
Cookie パラメータとして終了します。したがって、Cookie を非セッション Cookie に変換するにはexpires='date'
キーワードが必要であり、Cookie をパスに制限することはメソッドのpath='/somepath'
キーワードです。setCookie()
ここでは、通常のブラウザ Cookie ルールが適用されます。
ブラウザーに既に設定されている Cookie を期限切れにするには、expires='date in the past'
キーワードを使用するか、次のresponse.expireCookie()
メソッドを使用してこれを行います。
self.request.response.expireCookie(name, **options)
この場合、またはその他の Cookie フラグなどのオプションを引き続き含めることができますが、メソッドは、およびオプションをpath
オーバーライドして、ブラウザーによって Cookie が確実に削除されるようにします。max_age
expires
Zope のサポートを利用することもできますがSESSION
、実際にはスケーラビリティの問題についてよく考える必要があります。たとえば、ZEO や RelStorage を使用する場合、クラスター全体でセッション データを共有する方法を検討する必要があります。スケーラビリティが問題になる場合は、一般に、SESSION
完全に使用しないことをお勧めします。
Cookie を設定するには、RESPONSE.setCookie を使用します。
>>> self.REQUEST.RESPONSE.setCookie('cookiename', 'cookievalue', expires='Wed, 22 June 2009 12:00:00 GMT')
Cookie は、次のリクエストの REQUEST に含まれます。
>>> self.REQUEST['cookiename']
'cookievalue'
値として使用して、Cookie を「削除」しNone
ます。
**ただし、ほとんどの場合、Cookie を使用するのはセッションに関係する変数を格納するためであり、それには self.REQUEST.SESSION を使用できます。より簡単です。