render_to_response 返回的其实也是一个 response 对象,直接使用这个 response 对象即可:
def foobar(request): #... response = render_to_response(template_name, context) response.set_cookie('foo', 'bar', 60 * 60 * 24) return response
当修改 request.GET/request.POST 时,会出现: "AttributeError: This QueryDict instance is immutable":
def foobar(request): #... request.GET['foo'] = bar # AttributeError: This QueryDict instance is immutable #...
因为默认的 QueryDict 是不可修改的。解决办法就是复制一份副本,对副本进行修改:
def foobar(request): #... request.GET = request.GET.copy() # 添加这一句 request.GET['foo'] = bar #...