在django中将用户重定向到url时如何传递值字典

在django中将用户重定向到url时如何传递值字典,django,django-templates,django-views,Django,Django Templates,Django Views,下面是views.py中的代码,我使用render\u to\u response将用户引导到done.html以及变量字典。但是,我实际上希望将用户引导到url/home\u main/#sign\u complete,并传递可调用变量的字典。有没有人能建议一下有没有办法 def done(request): """Login complete view, displays user data""" scope = ' '.join(GooglePlusAuth.DEFAULT

下面是views.py中的代码,我使用
render\u to\u response
将用户引导到
done.html
以及变量字典。但是,我实际上希望将用户引导到url
/home\u main/#sign\u complete
,并传递可调用变量的字典。有没有人能建议一下有没有办法

def done(request):
    """Login complete view, displays user data"""
    scope = ' '.join(GooglePlusAuth.DEFAULT_SCOPE)

    return render_to_response('done.html', {
        'user': request.user,
        'plus_id': getattr(settings, 'SOCIAL_AUTH_GOOGLE_PLUS_KEY', None),
        'plus_scope': scope
    }, RequestContext(request))
编辑

我的要求是从多页html(home\u main.html)呈现第二页(signin\u complete)。目前,我通过使用
HttpResponseRedirect
重定向用户来实现这一点,如下所示。但是,我还想传递一个可调用的字典,我可以在多页html的第二页中使用它

下面是一个示例,它提供了多页模板结构下的多页html的更多信息

def done(request):
        """Login complete view, displays user data"""
        scope = ' '.join(GooglePlusAuth.DEFAULT_SCOPE)

        return HttpResponseRedirect('/home_main/#signin_complete')
下面是我想传递到多页html中第二页(sign_complete)的字典

            {
            'user': request.user,
            'plus_id': getattr(settings, 'SOCIAL_AUTH_GOOGLE_PLUS_KEY', None),
            'plus_scope': scope
            }

如果您将请求重定向到
done()

这也解决了您的问题,因为您可以定义自己要重定向到的url,以及重定向时如何添加哈希标记。

是在请求之间存储数据的地方

# in done():
request.session['dict_to_save'] = my_dict_to_save
return redirect('/new/url/to/redirect/to')

# in the new view:
values_from_session = request.session.pop('dict_to_save', None)

我已经从您提供的链接查看了会话,但老实说,我不太了解。如果你能举个小例子,我将不胜感激。感谢你的回复,我恳请你看看我在“编辑”下添加的其他信息。我真的不明白你为什么需要保存这些数据。其中两个元素是常量,可以在目标视图中轻松计算,用户可以通过
请求访问。用户在任何情况下都不需要保存。与其使用
HttpResponseRedirect
,我最好使用
render\u to\u response('page2 from home\u main.html'),{'user':request.user,'plus\u id':getattr(设置,'SOCIAL\u AUTH\u GOOGLE\u plus\u KEY',无),'plus\u scope':scope})
。我不确定如何从home\u main.html将\u呈现到\u响应页面2。对于造成的混乱,我深表歉意。我已在编辑中为我的问题添加了更多信息,以使问题更清晰。您问题的答案可能重复。也可能会澄清问题。(我承认,在搜索如何在HttpRedirect中传递参数之前,我也不知道这一点)