python - Django Social Auth 没有重定向到下一个 URL?

标签 python django facebook-login django-socialauth

所以我想在登录到同一页面后重定向。但是 Django Social Auth 没有重定向。 它重定向到 "/pins/#_=_

HTML:

<a href="{% url socialauth_begin 'facebook' %}?next={{ request.get_full_path }}">Facebook Login</a>

网址.py

url(r'^$', 'pinry.core.views.home', name='home')

View .py

def home(request):
    if request.user.is_authenticated():
        if 'next' in request.GET:
            return HttpResponseRedirect(request.GET['next'])
        else:    
            return HttpResponseRedirect('/pins'))
    return HttpResponseRedirect(reverse('core:concept'))

设置.py

LOGIN_URL          = '/login-form/'
LOGIN_REDIRECT_URL = '/'
LOGIN_ERROR_URL    = '/login-error/'
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/'
SOCIAL_AUTH_NEW_USER_REDIRECT_URL = '/pins/'
SOCIAL_AUTH_NEW_ASSOCIATION_REDIRECT_URL = '/new-association-redirect-url/'
SOCIAL_AUTH_DISCONNECT_REDIRECT_URL = '/account-disconnected-redirect-url/'
SOCIAL_AUTH_BACKEND_ERROR_URL = '/new-error-url/'

SOCIAL_AUTH_COMPLETE_URL_NAME  = 'socialauth_complete'
SOCIAL_AUTH_ASSOCIATE_URL_NAME = 'socialauth_associate_complete'
SOCIAL_AUTH_DEFAULT_USERNAME = 'new_social_auth_user'

TEMPLATE_CONTEXT_PROCESSORS = (
...
    "social_auth.context_processors.social_auth_by_name_backends",
    'social_auth.context_processors.social_auth_backends',
    'social_auth.context_processors.social_auth_by_type_backends',
    'social_auth.context_processors.social_auth_login_redirect',
    "django.core.context_processors.csrf"
    )

最佳答案

我遇到了和你一样的问题,我通过更改我的登录按钮 URL 解决了这个问题

<a href="{% url 'social:begin' 'github' %}>

<a href="{% url 'social:begin' 'github' %}?next={{ request.GET.next }}>

关于python - Django Social Auth 没有重定向到下一个 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26578088/

相关文章:

python - 如何在 Django 过滤器中使用 AND?

python - django 模板 - 循环遍历 2 个查询集

android - Facebook 登录公钥

html - Django:在现有的 html 页面上返回 StreamingHttpResponse

android - FB原生登录中SessionState为CLOSED_LOGIN_FAILED

android - 设置从 Facebook 登录获取用户电子邮件 ID 的权限

python - 如何在python中的不同目录中写入文件?

python - 推文对象中缺少 reply_count 属性

python - 如何使用 bash 命令结果作为 python 参数?

python - Django 应用程序的 Procfile 中应该包含哪些内容?