Javascript 如何向django allauth登录\重定向\ URL添加查询参数? 我的JS文件嵌入在第三方页面上 JS文件使用jsonp请求与我的服务器对话,该请求返回一个存储在变量x 现在我想验证这个用户,但要正确地进行验证(让我的应用程序逻辑正常工作),我需要存储在JS中特定于第三方页面的x 我通过allauth使用facebook登录
Javascript 如何向django allauth登录\重定向\ URL添加查询参数? 我的JS文件嵌入在第三方页面上 JS文件使用jsonp请求与我的服务器对话,该请求返回一个存储在变量x 现在我想验证这个用户,但要正确地进行验证(让我的应用程序逻辑正常工作),我需要存储在JS中特定于第三方页面的x 我通过allauth使用facebook登录,javascript,python,django,facebook,django-allauth,Javascript,Python,Django,Facebook,Django Allauth,窗口。打开(“http://localhost:8000/accounts/facebook/login/?method=oauth2“,“AskAFriend Facebook登录”,“菜单栏=0,工具栏=0;滚动条=0;对话框=0;可调整大小=1,宽度=480px,高度=320px”) 上面的代码为facebook登录过程打开了一个新窗口,完成后重定向到我在django应用程序中设计的视图,我通过在settings.py中的login\u REDIRECT\u url设置中提供此视图的url
窗口。打开(“http://localhost:8000/accounts/facebook/login/?method=oauth2“,“AskAFriend Facebook登录”,“菜单栏=0,工具栏=0;滚动条=0;对话框=0;可调整大小=1,宽度=480px,高度=320px”)代码>
上面的代码为facebook登录过程打开了一个新窗口,完成后重定向到我在django应用程序中设计的视图,我通过在settings.py中的login\u REDIRECT\u url
设置中提供此视图的url实现了这一点
现在我需要一种方法来向该请求添加一个参数,该参数在登录完成后可以到达我的视图,我如何才能做到这一点?
我已经尝试将它添加到我在JS中使用的url中,比如window.open(“http://localhost:8000/accounts/facebook/login/?method=oauth2&*valueofx='+x*…
(不起作用)(忽略*)
我已经读过关于使用自定义适配器重写get\u login\u redirect\u url()
函数的内容,但我不知道如何针对我的具体情况执行该操作
您可以将LOGIN\u REDIRECT\u URL
更改为类似/REDIRECT
的内容,这将成为一个“中间”视图,控制用户重定向到的位置
该视图可能看起来像这样(未经测试):
来自django.views.generic导入视图的
从django.http导入HttpResponseRedirect
类LoginDirectMediator(视图):
"""
根据请求决定新登录用户应该去哪里。
"""
def get(自我、请求、*args、**kwargs):
如果request.user.is_超级用户:
url='/admin panel/{}/'
其他:
url='/user panel/{}/'
返回HttpResponseRedirect(url.format(request.user.username))
但是我首先如何传递我的参数?我尝试在问题中JS代码中所示的方法参数之后传递它,但在我的视图中尝试访问它时出错。JS代码出现在第三方网站上。啊,好吧。我误解了你的问题。在这种情况下,你是否查看了下一个
参数?您可能可以对完整的URL进行URL编码,并将其作为值传递给下一个
。类似于。我已经编辑了我的问题,这会改变您的答案吗?