我目前正在努力整合Facebook Login
到我的网站中。
在 javascript 中,我能够在用户登录我的网站的那一刻获取用户信息;通过脸书。
因此,我的部分 javascript 代码如下:
...
u_email = response.email; //gets user's email
u_fname = response.first_name; //gets user's first name
...等等!
现在我想做以下两种情况之一:1)如果这是用户第一次登录我的网站;我想将所有这些信息(电子邮件、名字……)保存到我的用户数据库中;2)如果这不是用户第一次登录,我想将用户重定向到另一个页面,并显示一些我需要从数据库中获取的关于他/她的信息(根据他/她的电子邮件) !
无论哪种情况,我都必须通过用户信息访问数据库。所以,我想做的是在传递用户信息的同时将用户重定向到 Django 视图。例如,我的 javascript 文件中可以包含以下内容:
document.location.href = '../' + u_email +'/' + u_fname + '/login';
...在我的 中urls.py
,我可以拥有以下内容:
url(r'^(?P<u_email>\w+)/(?P<u_fname>\w+)/login/$', views.login, name='login')
最后,在我的view
文件中,我可以拥有以下内容:
def login(request, u_email, u_fname):
template = loader.get_template('counters/login.html')
context = RequestContext(request, {
'u_email': u_email,
'u_fname': u_fname,
})
return HttpResponse(template.render(context))
现在; 显然,我有一个问题,就是用户的(据说是保密的)信息会显示在url中!有没有办法通过隐藏从 javascript 传递到 Django 视图的参数来避免它?