I read Django - Access request.session in form but am still almightly confused.
I want the default value in one of my form fields to be from self.requests.session
(I also tried requests.session
).
class BookARoomForm(forms.ModelForm):
def __init__(self, request, *args, **kwargs):
super(BookARoomForm, self).__init__(*args, **kwargs)
self.fields['arrival_date'].initial = self.requests.session['arrival_date']
class Meta:
model = RoomBooking
fields = ('User', 'title', 'room_type', 'arrival_date', 'departure_date', 'cost')
In get_context_data
I have tried context['book_a_room_form'] = BookARoomForm()
, context['book_a_room_form'] = BookARoomForm(request)
and context['book_a_room_form'] = BookARoomForm(self.request)
. Each time I got a different error.
class HotelDetailSlugView(ObjectViewedMixin, DetailView):
template_name = "hotel/detail.html"
def get_context_data(self, *args, **kwargs):
context = super(HotelDetailSlugView, self).get_context_data(*args, **kwargs)
context['book_a_room_form'] = BookARoomForm() # Your part form