我在views.py
(Django 1.7)
class Info(View):
http_method_names = ['get', 'post', 'put', 'delete']
def get(self, request):
return render(request, 'command.html', {'result': request.META.items()})
我尝试使用requests.get获取cookie,如下所示:
print(requests.get(r'http://127.0.0.1:8000/info/').cookies.items())
但是,没有cookie,我只有一个空列表,如何解决这个问题?
答案 0 :(得分:3)
你必须:
将Cookie设置为Response
对象
response = render(request, 'command.html', {'result': request.META.items()})
response.set_cookie('cookie_name', 'cookie_value')
return response
在request.COOKIES
if 'cookie_name' in request.COOKIES:
cookie_value = request.COOKIES['cookie_name']
答案 1 :(得分:1)
requests.get(r'http://127.0.0.1:8000/info/').cookies.items())
这对我来说没什么问题。如果它返回一个空列表,则表示您的视图未设置任何cookie。
默认情况下,Django仅在修改会话时设置会话cookie。有关详细信息,请参阅when sessions are saved上的Django文档。