gpt4 book ai didi

python - 重定向到最后一页不适用于 python 社交身份验证

转载 作者:太空狗 更新时间:2023-10-30 00:17:19 24 4
gpt4 key购买 nike

我正在使用 python 社交身份验证来使用社交登录,但我无法在成功登录后重定向到最后一页。

例如,如果我在以下页面 http://localhost:8000/docprofile/14/ 并单击登录按钮,而不是将我重定向到最后一页 http ://localhost:8000/docprofile/14/ 它将我重定向到登录页面。

如果我这样写:

<a href="{% url 'social:begin' 'facebook' %}?next={{ request.path }}"> | Login with Facebook</a>

它重定向到登录页面并且 url 以奇怪的字符结尾:

http://localhost:8000/login/#_=_

我也试过这个:

<a href="{% url 'social:begin' 'facebook' %}?next={{ request.get_full_path }}"> | Login with Facebook</a>

这一次它确实采用了 /docprofile/14 的路径,但仍然没有将我重定向回去并将我带到带有 url http://localhost 的登录页面: 8000/登录/?next=/docprofile/14/#_=_

最佳答案

我必须做的是从我的 GET 中的查询字符串中剥离下一个参数并修改 html 以将其包含在模板中,如下所示

def home(request):
c = context()
if request.GET.get('next'):
c = context(next=request.GET['next'])

return render_to_response('home.html',
context_instance=RequestContext(request, c))

def context(**extra):
return dict({
'available_backends': load_backends(settings.AUTHENTICATION_BACKENDS)
}, **extra)

我的模板现在从上下文中获取下一个参数,当我登录重定向时。

<a class="col-md-2 btn btn-default" name="{{ backend|backend_class }}" href="{% url "social:begin" backend=name %}?next={{next}}">

关于python - 重定向到最后一页不适用于 python 社交身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26949273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com