Django-重定向后无法从URL中删除参数

Django-重定向后无法从URL中删除参数,django,redirect,instagram-api,Django,Redirect,Instagram Api,instagram api的身份验证过程返回作为重定向url参数附加的访问令牌,例如redirect.com/#access_token=xxx 我目前正在获取访问令牌,将其保存在会话中,然后重定向到其他url。但是在重定向之后,我只得到了“”,参数仍然存在。我试过使用 GET = request.GET.copy() GET.pop('#access_token') 但是我得到了一个“KeyError”,尽管密钥“access_token”显然在那里 请参见下面的my URL.py from

instagram api的身份验证过程返回作为重定向url参数附加的访问令牌,例如redirect.com/#access_token=xxx

我目前正在获取访问令牌,将其保存在会话中,然后重定向到其他url。但是在重定向之后,我只得到了“”,参数仍然存在。我试过使用

GET = request.GET.copy()
GET.pop('#access_token')
但是我得到了一个“KeyError”,尽管密钥“access_token”显然在那里

请参见下面的my URL.py

from django.conf.urls import url

From . import views

urlpatterns = [
   url(r'^search/', views.get_name, name='get_name'),
   url(r'^', views.index, name='index'),
]
以及下面的view.py

def index(request):

token = request.session.get('token')
if not token:
    token=request.GET.get('#access_token')

request.session['token'] = token

return HttpResponseRedirect(redirect_to='http://example.com/your-name/search/')
如果您的url末尾带有“#something”(称为“fragment”),例如“”,并且您将单击这样的链接,那么该片段部分将不会发送到服务器,因此您无法读取它

此行为如中所述:

片段标识符在信息检索中具有特殊的作用 系统作为客户端间接引用的主要形式, 允许作者具体确定现有文档的各个方面 仅由资源所有者间接提供的资源。作为 这样,片段标识符就不会在特定于方案的代码中使用 URI的处理;相反,片段标识符是分开的 在取消引用之前,从URI的其余部分 片段本身中的标识信息被取消引用 仅由用户代理执行,而不考虑URI方案


因此,片段不能用于服务器处理或重定向。

否,Instagram API不这样做。这样做是没有意义的,因为片段(在#之后的位)没有被发送到服务器。您无法在服务器端读取片段。请尝试:
request.get.get('access_token')
而不使用