2011-01-05 10 views
0

쿠키를 사용하여 일부 섹션의 상태를 저장하고 있습니다. jQuery은 쿠키를 설정하는 데 사용됩니다. 쿠키를 삭제하려면 올바른 경로가 있어야합니다. 이 코드는 작동하지만 경로 값을 제공했습니다. 함수 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

수 없습니다. 서버는 쿠키의 이름과 값만받습니다. 쿠키 생성 중에 만 추가 쿠키 매개 변수를 설정할 수 있습니다. 그런 다음 사용자 에이전트는 쿠키 관리를 담당합니다.

경로가없는 쿠키를 설정하면 현재 url 경로가 쿠키 경로로 암시 적으로 사용됩니다.

문제가되지 않는다면 쿠키에 대한 상수 (예 : /)를 설정 한 다음 삭제할 수 있습니다.

+0

경로를 상수로 설정할 수 없습니다. 경로를 상수로 설정할 수 없습니다. 쿠키의 만료 매개 변수를 설정 했으므로 삭제할 필요가 없습니다. – Seitaridis

0

불행히도 특정 하위 디렉토리가 포함 된 경로로 설정된 쿠키는 해당 하위 디렉토리 외부의 스크립트에서 액세스 할 수 없습니다. 또한 cezio가 언급했듯이 실제로 어쨌든 사용자의 컴퓨터에서 쿠키를 삭제할 수는 없습니다. 대신 일반적으로 쿠키의 만료 날짜를 과거 날짜 (예 : 1/1/1900)로 설정합니다.