Czy istnieje sposób na uzyskanie request.session
z widoku opartego na klasach?Uzyskaj request.session z ogólnego widoku klasowego
Na przykład, mam
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())
Jedyne co mogę myśleć byłoby zastąpić as_view
dodając
def as_view(self, request, *args, **kwargs):
self.session = request.session
super(CreateProfileView, self).as_view(request, *args, **kwargs)
do klasy. Ale to wydaje się brzydkie. Czy istnieje inny sposób?
Ważną częścią tutaj jest "kiedy widoki oparte na klasach * nazywają się *"; tj. musi być wykonana w ramach jednej z metod * klasy * (np. def get_context_data (self, ** kwargs)), nie wewnątrz klasy, ale poza dowolnymi metodami. – Chirael