¿Hay alguna manera de obtener request.session
desde dentro de una vista basada en clases?Obtener request.session desde una vista genérica basada en clase
Por ejemplo, he
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())
Lo único que se me ocurre sería anular as_view
añadiendo
def as_view(self, request, *args, **kwargs):
self.session = request.session
super(CreateProfileView, self).as_view(request, *args, **kwargs)
a la clase. Pero eso parece feo. ¿Hay otra manera?
La parte importante aquí es "cuando las vistas basadas en clases * se llaman *"; es decir, debe hacerse dentro de uno de los * métodos * de la clase (por ejemplo, def get_context_data (self, ** kwargs)), no dentro de la clase, sino fuera de cualquier método. – Chirael