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编码,并将其作为值传递给
    下一个
    。类似于。我已经编辑了我的问题,这会改变您的答案吗?