dja*_*ina 5 django cookies django-class-based-views
现在我有一个基于类的视图.我想在这个视图中设置cookie,但是我可以得到响应,但是响应是在get methond中返回的.所以我无法将cookie设置为response.so如何在基于类的视图中获取响应
class MyView(TemplateView):
def get_context_data(self, **kwargs):
context = super(UBaseTemplateView, self).get_context_data(**kwargs)
#in here set cookie,but can get the response
#response.set_cookie("success","success")
return context
Run Code Online (Sandbox Code Playgroud)
你不能set_cookie on request,只有on response,但burhan-khalid正朝着正确的方向前进.get_context_data只返回一个字典,因此你无法访问那里的响应.您必须在dispatch或中使用TemplateView,才能访问它render_to_response.这是一个例子:
class MyView(TemplateView):
def render_to_response(self, context, **response_kwargs):
response = super(MyView, self).render_to_response(context, **response_kwargs)
response.set_cookie("success","success")
return response
Run Code Online (Sandbox Code Playgroud)
我建议你不要把所有的处理代码都用在get_context_data.您可能需要重构以获取您想要设置的cookie render_to_response.
| 归档时间: |
|
| 查看次数: |
2899 次 |
| 最近记录: |