gpt4 book ai didi

django - 如何在模板中设置重定向 url?

转载 作者:行者123 更新时间:2023-12-05 00:54:00 25 4
gpt4 key购买 nike

我在 Python 2.7.1 下使用 Django-social-auth 和 Django 1.3.1。我一直在到处寻找,但我不太清楚如何使用自定义重定向 url 进行 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 身份验证 url 上的参数。这是怎么做到的?我的模板作为 HttpResponse 加载,因此,虽然我当然可以将模板值传递给它,但我不清楚如何在上面的模板标签中使用这些值。

抱歉这个基本问题。

最佳答案

好吧,我知道这很简单,我什至觉得问这个问题有点傻。我想我认为 django-social-auth 有这样做的特殊规定,但显然,它非常手动。以下是针对最终出现在这里的任何其他人的解决方案:

在您看来: ... 从 django.utils.http 导入 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>
...

关于django - 如何在模板中设置重定向 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8420621/

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