def get_context_data(self, **kwargs): context = super(MovieDetailView, self).get_context_data(**kwargs) context["form"] = review_forms.CreateReviewForm( initial={"movie": self.object}) context["reviews"] = self.object.reviews.filter( movie_id=self.kwargs.get("movie_id")) return context
def get(self, *args, **kwargs): pk = kwargs.get("pk") """ Overriding get() by using a custom manager (CustomModelManager) in order to filter a request accessing a reservation which doen't exist """ debug.info(pk) # Move this code to CustomModelManager """ try: reservation = models.Reservation.objects.get(pk=pk) except models.Reservation.DoesNotExist: pass """ # and use .get_or_none() instead reservation = models.Reservation.objects.get_or_none(pk=pk) # raise Http404 # if the reservation pk does not exist # or user is neither a guest nor a host if not reservation or ( reservation.guest != self.request.user # not a guest and reservation.room.home != self.request.user # not a host ): raise Http404() # set reviews/form for reservations/template (detail.html) form = review_forms.CreateReviewForm() return render(self.request, "reservations/detail.html", { "reservation": reservation, "form": form })
def get(self, *args, **kwargs): kind = self.request.GET.get("kind", None) pk = kwargs.get("pk") if kind is not None: if kind == "guest": reservations = models.Reservation.objects.filter(guest=pk) if not reservations: raise Http404 form = review_forms.CreateReviewForm() return render( self.request, "reservations/list.html", { "reservations": reservations, "form": form }, ) elif kind == "host": reservations = models.Reservation.objects.filter( room__host_id=pk) if not reservations: raise Http404 return render( self.request, "reservations/host.html", {"reservations": reservations}, )
def get(self, *args, **kwargs): pk = kwargs.get('pk') reservation = models.Reservation.objects.get_or_none(pk=pk) if (reservation.guest != self.request.user and reservation.room.host != self.request.user) \ or reservation is None: raise Http404() user = self.request.user form = review_forms.CreateReviewForm() return render(self.request, "reservation/detail.html", {'reservation': reservation, 'form': form, 'user': user})
def get(self, *args, **kwargs): pk = kwargs.get("pk") post = models.Post.objects.get_or_none(pk=pk) if not post: raise Http404() form = review_forms.CreateReviewForm() return render(self.request, "posts/post_detail.html", { "post": post, "form": form })
def get(self, *args, **kwargs): pk = kwargs.get('pk') reservation = models.Reservation.objects.get_or_none(pk=pk) if not reservation or (reservation.guest != self.request.user and reservation.room.host != self.request.user): raise Http404 form = review_forms.CreateReviewForm() return render(self.request, "reservations/detail.html", { "reservation": reservation, "form": form })
def get(self, request, *args, **kwargs): pk = kwargs.get("pk") movie = Movie.objects.get(pk=pk) form = forms.CreateReviewForm() return render( self.request, "movies/movie_detail.html", { "movie": movie, "form": form }, )
def get(self, request, *args, **kwargs): pk = kwargs.get("pk") book = Book.objects.get(pk=pk) form = forms.CreateReviewForm() return render( self.request, "books/book_detail.html", { "book": book, "form": form }, )
def get(self, *args, **kwargs): pk = kwargs.get("pk") user = self.request.user reservation = models.Reservation.objects.get_or_none(pk=pk) if reservation is None or (not (reservation.user == user or reservation.mentor.user == user)): return redirect(reverse("core:home")) form = reviews_forms.CreateReviewForm() return render(self.request, "reservations/detail.html", { "reservation": reservation, "form": form })
def reservation_detail(request, pk): reservation = models.Reservation.objects.get(pk=pk) if not reservation or (reservation.guest != request.user and reservation.restaurant.host != request.user): raise Http404() form = review_forms.CreateReviewForm() return render( request, "reservations/detail.html", { "reservation": reservation, "form": form }, )
def get(self, request, *args, **kwargs): pk = kwargs.get("pk") reservation = reservation_models.Reservation.objects.get_or_none(pk=pk) if reservation is None or ( reservation.guest != request.user and reservation.room_info.host != request.user ): raise Http404() form = review_forms.CreateReviewForm() return render( request, "reservations/reservation_detail.html", context={"reservation": reservation, "form": form}, )
def get(self, *args, **kwargs): pk = kwargs.get("pk") reservation = models.Reservation.objects.get_or_none(pk=pk) if not reservation or (reservation.guest != self.request.user and reservation.room.host != self.request.user): return redirect(reverse("core:home")) form = review_forms.CreateReviewForm() return render( self.request, "reservations/detail.html", { "reservation": reservation, "form": form }, )
def get(self, *args, **kwargs): pk = kwargs.get("pk") reservation = models.Reservation.objects.get_or_none(pk=pk) if not reservation: raise Http404() if (self.request.user != reservation.guest and self.request.user != reservation.room.host): raise Http404() form = reviews_forms.CreateReviewForm() return render( self.request, "reservations/detail.html", { "reservation": reservation, "form": form }, )
def get(self, *args, **kwargs): pk = self.kwargs.get("pk") # models.MYCLASS.objects 를 model manager 라고하며, managers.py 를 통해 오버라이드 가능하다. # get_object_or_404 method 를 사용하는 것도 get_on_none 과 동일한 기능을 구현한다. reservation = models.Reservation.objects.get_or_none(pk=pk) if not reservation or (reservation.guest != self.request.user and reservation.room.host != self.request.user): raise Http404() form = review_forms.CreateReviewForm() return render( request=self.request, template_name="reservations/detail.html", context={ "reservation": reservation, "form": form }, )
def get(self, request, pk): reservation = reservations_models.Reservation.objects.get_or_none( pk=pk) if (not reservation) or (reservation.guest != self.request.user and reservation.room.host != self.request.user): raise Http404() # 리뷰에 있는 폼을 가져다 쓸수있음 form = reviews_form.CreateReviewForm() return render( self.request, "reservations/detail.html", { "reservation": reservation, "form": form }, )
def get(self, *args, **kwargs): pk = kwargs.get("pk") # Instead of doing models.reservation.DoesNotExist:, made model manager! reservation = models.Reservation.objects.get_or_none(pk=pk) if not reservation or ( # the user has to be guest or host reservation.guest != self.request.user and reservation.room.host != self.request.user): raise Http404() form = review_forms.CreateReviewForm() return render( self.request, "reservations/detail.html", { "reservation": reservation, "form": form }, )
def get(self, *args, **kwargs): pk = kwargs.get("pk") reservation = models.Reservation.objects.get_or_none(pk=pk) if not reservation: raise Http404() if (reservation.guest != self.request.user and reservation.room.host != self.request.user): # the user that has requested this page has to either be guest or host raise Http404() form = review_forms.CreateReviewForm() return render( self.request, "reservations/detail.html", { "reservation": reservation, "form": form }, )
def get(self, *args, **kwargs): pk = kwargs.get("pk") # reservation = models.Reservation.objects.get(pk=pk) # get은 결과를 찾지 못하면 error를 발생시킨다!.. DoesNotExist말고 다르게 해보자 reservation = models.Reservation.objects.get_or_none(pk=pk) # 여기 pk=pk 인자 값들은.. CustomReservationManager의 get or none의 # **kwargs 의 쿼리 인자로 받을수있따! # managers 에 정의하고 model에 추가해서 쓸수있다! # 이 reservation은 guest나 host한테만 보여질 것이다! if not reservation or (reservation.guest != self.request.user and reservation.room.host != self.request.user): raise Http404() # 페이지를 요청하는 user는 guest나 host여야 한다! # 즉 호스트도 게스트도 아니라면 http404를 raise한다! form = review_forms.CreateReviewForm() # review의 폼을 받아와서 밑에 보내준다 return render( self.request, "reservations/detail.html", { "reservation": reservation, "form": form }, )
def get_context_data(self, **kwargs): form = review_forms.CreateReviewForm() context = super().get_context_data(**kwargs) context["form"] = form return context
def get_context_data(self, **kwargs): context = super(MovieDetail, self).get_context_data(**kwargs) context['form'] = forms.CreateReviewForm() return context