我的表单提交如下
<form class="form-signin" role="form" action="{% provider_login_url "facebook" method="js_sdk" next="/next"%}">
我使用自己的AccountAdapter和方法
覆盖了DefaultAccountAdapterdef get_login_redirect_url(self, request):
print request.GET['next']
...
但是请求丢失了下一个参数,并且print返回错误,因为request.GET中没有“next”。 为什么我不能访问下一个参数? 在创建社交用户名/密码用户之后,我最初使用get_login_redirect_url来处理不同的网址重定向。现在,我需要能够为社交用户登录的另一个行为变量指定URL中的下一个参数,但是我无法访问下一个参数,因为它似乎没有被传递。
答案 0 :(得分:0)
我不确定能否为您的问题提供准确的解决方案。但我认为有道理。
要从url访问下一个参数, 网址应该是,
http://127.0.0.1:8000/index?next=2
如果您必须以上述方式形成网址,则可以访问相应next
request
个对象的view method
参数
print request.GET.get('next')
因此,请务必使用正确的查询字符串refer
格式化请求网址我不知道{% provider_login_url %}
模板标记
我假设在您的代码呈现后会生成网址index
,然后我会附加我的查询字符串next
<form class="form-signin" role="form" action="/index?next=someValue">
{% provider_login_url "facebook" next=next %}
答案 1 :(得分:0)
我遇到了类似的问题。但是,我没有登录facebook。 request.GET总是空的。
我认为您可以尝试使用jQuery手动将next
参数附加到action
的{{1}}属性。见this question。它解决了我的问题。