2011-01-05 8 views
0

いくつかのセクションの状態を保存するためにクッキーを使用しています。 jQueryは、Cookieを設定するために使用されます。クッキーを削除するには正しいパスが必要です。このコードは機能しますが、パスの値を提供しました。関数lenは0を返します。どのようにしてパス値でクッキーを取得できますか?ログアウト時に特定のクッキーを削除する

def mylogout(request, next_page=None, template_name=None): 
    response = render_to_response(template_name,{ 
      }, context_instance = RequestContext(request)) 

    logout(request) 

    print len(response.cookies.items()) 

    response.delete_cookie('section_body_1', path='/some/url/data/edit/48/') 
    response.delete_cookie('section_body_2', path='/some/url/data/edit/48/') 
    response.delete_cookie('section_body_3', path='/some/url/data/edit/48/') 

    return response 

答えて

0

できません。サーバーは、Cookieの名前と値のみを受け取ります。追加のCookieパラメータは、Cookieの作成中にのみ設定できます。その後、ユーザーエージェントはCookieの管理を担当します。

パスのないCookieを設定すると、現在のURLパスが暗黙的にCookieパスとして使用されます。

問題がなければ、クッキーに一定の共通パス(つまり、/)を設定してから削除することができます。

+0

パスを定数に設定できませんでした。それはそのようにすることが有効であることが判明しました。クッキーのexpiresパラメータを設定しましたが、削除でもう気にしません。 – Seitaridis

0

残念ながら、特定のサブディレクトリを含むパスで設定されたCookieには、そのサブディレクトリ以外のスクリプトからはアクセスできません。また、cezioが述べたように、あなたは実際にはユーザーのコンピュータ上のクッキーを削除することはできません。代わりに、一般的な方法は、Cookieの有効期限を過去の日付(1/1/1900など)に設定することです。

関連する問題