【发布时间】:2021-11-24 11:52:15
【问题描述】:
我曾经在get_context_data 中有book_a_room_form = BookARoomForm(),但后来我将其修改为book_a_room_form = BookARoomForm(initial={'arrival_date': request.session['arrival_date']}) 并将其放入get(请参阅将其移至gethere 的原因)。 get_context_data 和 get 单独工作。但我不能让他们一起工作。我已经阅读了数十篇关于这个问题的帖子,查看了我的回溯,并收到了各种不同的错误消息。我现在只是在讨论这个问题。
def get_context_data(self, *args, **kwargs):
context = super(HotelDetailSlugView, self).get_context_data(*args, **kwargs)
cart_obj, new_obj = Cart.objects.new_or_get(self.request)
context['hotel_extra_photos'] = AmericanHotelPhoto.objects.all().filter(title=AmericanHotel.objects.all().filter(slug=self.kwargs.get('slug'))[0].id)
context['room_type'] = RoomType.objects.all().filter(title=AmericanHotel.objects.all().filter(slug=self.kwargs.get('slug'))[0].id)
return context
def get(self, request, *args, **kwargs):
# This code is executed each time a GET request is coming on this view
# It's is the best place where a form can be instantiate
book_a_room_form = BookARoomForm(initial={'arrival_date': request.session['arrival_date']})
return render(request, self.template_name, {'book_a_room_form': book_a_room_form,
})
【问题讨论】:
标签: python django django-views django-forms