微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

django – 如何在模板中设置重定向URL?

我在 Python 2.7.1下使用django-social-auth和Django 1.3.1.我一直在寻找各地,我无法弄清楚如何使用自定义重定向网址进行Twitter身份验证(或其他提供商).

我已经读过我需要在我的html模板中使用这个模板标签来构建启动过程的链接

{% url socialauth_begin 'twitter' %}

使用我的settings.py文件中的值为LOGIN_REDIRECT_URL可以正常工作(虽然,请参阅我的问题:Twitter takes users to /en/logged-in/ regardless of my settings)但是,在这种特殊情况下,我需要在返回时将用户重定向到特殊的URL.

我在其他地方读过我需要将带有重定向值的变量’next’传递给模板或作为twitter auth url上的参数传递.这是怎么做到的?我的模板作为HttpResponse加载,因此,虽然我当然可以传递模板值,但我不清楚如何在上面的模板标签中使用它们.

对不起这个基本问题.

解决方法

好吧,我知道这很简单,即使问这个也觉得有点傻.我想我认为django-social-auth有这样做的特殊规定,但显然,这是非常手工的.这是最终在这里结束的其他人的解决方案:

在你看来:
    …
    来自django.utils.http import urlquote
    …

def my_view(request,...):
  ...
  redirect_url = urlquote("http://your_required_redirect_url/")
  ...
  return render_to_response('your_template.html',{ 'redirect_url' : redirect_url })

在’your_template.html’中:

...
Login with <a href="{% url socialauth_begin 'twitter' %}?next={{ redirect_url }}">Twitter</a>
...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐