Django cookie年龄没有设定

时间:2014-06-09 15:50:40

标签: django angularjs cookies

我正在尝试为我的用户创建一种方式来记住我"记住我"他们登录时的选项。但是,无论我尝试什么,当我在浏览器中查看cookie时,它只显示Expires: At end of session。所以,一旦我关闭浏览器并返回我的页面,我就会退出。

在我的settings.py中,我设置了

SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_COOKIE_AGE = 10000000

我认为这是我需要做的......

在前端(在AngularJS中)我有以下cookie存储:

$http.post('http://localhost:8000/auth/login/', {email: this.login['arguments'][0]['email'], password: this.login['arguments'][0]['password']})
        .success(function(response){
          if (response.token){
            $cookieStore.put('djangotoken', response.token);
            $http.defaults.headers.common['Authorization'] = 'Token ' + response.token;
          }
        })
        .error(function(data, status, headers, config){
          $cookieStore.remove('djangotoken');
        });

如果有人可以告诉我如何让我的饼干停留在我设定的指定年龄,我将不胜感激!

1 个答案:

答案 0 :(得分:0)

您直接从Angular设置cookie,因此它与Django会话cookie时代无关。您需要在设置cookie时传递到期时间。

不幸的是,内置的Angular cookieStore api是不必要的限制,并不支持这一点。它似乎是一个很好的选择angular-cookie