从基于类的通用视图获取request.session

有没有办法request.session从基于类的视图中获取信息?

例如,我有

from django.views.generic.edit import FormView

class CreateProfileView(FormView):

def form_valid(self, form):

# --> would like to save form contents to session here

return redirect(self.get_success_url())

我唯一能想到的就是as_view添加

def as_view(self, request, *args, **kwargs):

self.session = request.session

super(CreateProfileView, self).as_view(request, *args, **kwargs)

上课。但这看起来很丑。还有另一种方法吗?

回答:

你可以self.request从班级中的任何地方访问(因此self.request.session

https://docs.djangoproject.com/en/dev/topics/class-based-views/generic-display/#dynamic-filtering

进行这项工作的关键部分是,当调用基于类的视图时,各种有用的东西都存储在自己身上。以及请求(self.request),其中包括根据URLconf捕获的位置(self.args)和基于名称的(self.kwargs)参数。

以上是 从基于类的通用视图获取request.session 的全部内容, 来源链接: utcz.com/qa/408668.html

回到顶部