我对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。
提前致谢。
答案 0 :(得分:0)
不,他们不是同一个对象。
在序列化为HTTP响应后,响应将返回到浏览器。此HTTP响应可以包含Set-Cookie标头,该标头指示浏览器在发出后续请求时发回给定的Cookie。
在下一个请求中,浏览器使用Cookie标头发送新请求,然后Django将该标头提取到新的请求对象中。