返回的响应是否与Django中传递的请求相同?

时间:2014-07-18 23:32:02

标签: python html django

我对HttpRequest和HttpResponse有疑问 考虑以下场景:

def articles_cookies(request):
language = 'en-us'
session_language = 'en-us'

if 'lang' in request.COOKIES:
    language = request.COOKIES['lang']

return render_to_response('articles.html',
                          {'articles':Article.objects.all(),
                           'language':language})

def language(request,language='en-us'):
    response = HttpResponse('setting language to %s' % language)
    response.set_cookie('lang',language)
    return response

位于Django的views.py中。 语言返回的响应是否与传递给articles_cookies函数的请求相同?因为我可以访问请求中的cookie。

提前致谢。

1 个答案:

答案 0 :(得分:0)

不,他们不是同一个对象。

在序列化为HTTP响应后,响应将返回到浏览器。此HTTP响应可以包含Set-Cookie标头,该标头指示浏览器在发出后续请求时发回给定的Cookie。

在下一个请求中,浏览器使用Cookie标头发送新请求,然后Django将该标头提取到新的请求对象中。