django通过javascript登录[重复]

Posted

技术标签:

【中文标题】django通过javascript登录[重复]【英文标题】:django login through javascript [duplicate] 【发布时间】:2013-03-14 02:57:45 【问题描述】:

我正在尝试将 django 用于我的网站。我使用此代码实现了登录:7

user_django = authenticate(username=email, password=passw)
login(request, user_django)

使用 django rest 框架正在工作。但是当我将它与 ajax 请求一起使用时,我认为它不存储 cookie。 我还使用 django 函数来检查用户是否已登录:

if request.user.is_authenticated():
        return Response('1')
    else:
        return Response('0')

但它总是返回 0。我是否需要在客户端做一些特殊的事情来存储登录信息?

我的 javascript 登录:

function userLogin()
    var user_email = $('#login_user_email').val();
    var user_pwd   = $('#login_user_pwd').val();

    var data = email:user_email, password:user_pwd;

    $.ajax(prefix+ 'userLogin/', 
        success: function(output, status, xhr)
            $('#login_btn').click();
        ,
        data: data,
        type: 'POST'
    );



【问题讨论】:

你能发布django日志文件吗? 此日志?[24/Mar/2013 11:26:45] "POST /api/userLogin/ HTTP/1.1" 200 17 [24/Mar/2013 11:30:03] "GET /api/getOpeningAds/?format=json HTTP/1.1" 200 4121 [2013 年 3 月 24 日 11:31:29] "POST /api/userLogin/ HTTP/1.1" 200 17 [2013 年 3 月 24 日 11:31: 50]“GET /api/checkLogin/HTTP/1.1”200 3 [2013 年 3 月 24 日 11:49:35]“GET /api/getOpeningAds/?format=json HTTP/1.1”200 4121 [2013 年 3 月 24 日11:49:51]“POST /api/userLogin/HTTP/1.1”200 17 问题是 django 正在返回“set-cookie”和响应,但是当我使用 chrome“inspect element”访问资源时,会话 ID 不存在? function userLogin() var user_email = $('#login_user_email').val(); var user_pwd = $('#login_user_pwd').val(); var data = email:user_email, password:user_pwd; $.ajax(prefix+ 'userLogin/', success: function(output, status, xhr) $('#login_btn').click(); , data: data, type: 'POST' ); 【参考方案1】:

这对我来说是一个熟悉的问题,可能与 SO 上的其他问题重复,

看看这些,你会找到解决办法的。

Django CSRF check failing with an Ajax POST request "CSRF token missing or incorrect" while post parameter via AJAX in Django JQuery + AJAX + Django = CSRF ?

【讨论】:

以上是关于django通过javascript登录[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Django,Javascript:通过 javascript innerHtml 注入 DOM 的表单在提交时崩溃 google chrome 选项卡。在 IE 中工作

django:登录后重定向到引用页面[重复]

从 Javascript 到 Django 服务器进行查询

Django之outh模块

使用 Django 视图值更新 JavaScript [重复]

Django:如何在javascript中访问当前登录用户的ID?