django - get_context_data - Obtener request.session desde una vista genérica basada en clase
httpresponse django example (1)
Tiene acceso a self.request
desde cualquier lugar dentro de la clase (y, por self.request.session
tanto, self.request.session
)
https://docs.djangoproject.com/en/dev/topics/class-based-views/generic-display/#dynamic-filtering
La parte clave para hacer que esto funcione es que cuando se llaman vistas basadas en clases, varias cosas útiles se almacenan en uno mismo; así como la solicitud (self.request), esto incluye los argumentos posicionales (self.args) y basados en el nombre (self.kwargs) capturados de acuerdo con el URLconf.
¿Hay una manera de obtener request.session
desde una vista basada en clases?
Por ejemplo, tengo
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 puedo pensar sería anular as_view
agregando
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?