Django перенаправление на детальную страницу после аутентификации
вот мой код
class UserProfileView(DetailView):
template_name = 'main/userprofile.html'
context_object_name = 'userprofile'
model = ProfilePersonal
# def dispatch(self, request, *args, **kwargs):
# if request.user.is_authenticated:
# pass
# else:
# return redirect('/accounts/login/?next=userprofile/6')
# return super().dispatch(request, *args, **kwargs)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
comments_connected = Review.objects.filter(profile=self.get_object()).order_by('-date_created')
context["comments"] = comments_connected
context['comment_form'] = ReviewForm
return context
def post(self, request, *args, **kwargs):
if request.user.is_authenticated:
new_comment = Review(content=request.POST.get('content'),
rating=request.POST.get('rate'),
profile=self.get_object(),
user = self.request.user)
else:
return redirect(f'/accounts/login next=userprofile/{self.get_object()}')
new_comment.save()
return self.get(self, request, *args, **kwargs)
Все работает хорошо, за исключением того, что если пользователь пытается оставить комментарий и он не вошел в систему, он будет перенаправлен на страницу входа, но после аутентификации я хочу перенаправить пользователя на страницу с подробной информацией о пользователе, с которой он был перенаправлен. например, если я был перенаправлен с 127.0.0.1:8000/userprofile/6 после входа в систему я должен быть перенаправлен на 127.0.0.1:8000/userprofile/6, чтобы продолжить то, что я делал
Я решил эту проблему с помощью
return redirect(f'/accounts/login next=userprofile/{self.get_object().id}')