Python-social-auth与Django一起使用时,如何处理/?next=变量?

3
我正在使用django 1.7和python-social-auth。我在我的settings.py文件中有以下代码:
SOCIAL_AUTH_LOGIN_URL = '/accounts/login'
SOCIAL_AUTH_NEW_USER_REDIRECT_URL = '/accounts/add_college'
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/'

然而,当我的url类似于


accounts/login/?next=/display/Electronics/Random/

我希望被重定向到

display/Electronics/Random/

在我的模板中,我有以下代码。
<a href="{% url 'social:begin' 'facebook' %}?next={{ request.path }}" class="btn btn-social btn-facebook">

但是,我仍然被重定向到SOCIAL_AUTH_LOGIN_REDIRECT_URL中指定的url。我该如何考虑next变量的值?


你在登录页面模板中添加了这行代码吗:<input type="hidden" name="next" value="{{ next }}" /> - rkatkam
不,我之前没有添加它。即使现在添加了它,似乎也不起作用。 - Poorva Rane
1个回答

2

请确保在您的settings.py文件中添加了TEMPLATE_CONTEXT_PROCESSORS:

from django.conf import global_settings
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
    "django.core.context_processors.request",
)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接