장고 관련 질문

안녕하세요, 저자님 점프투장고를 완독하고 블로그 제작 연습을 하고 있습니다.

로그아웃 상태에서 댓글을 작성하고 제출하면 로그인 페이지로 이동한 다음, 다시 본래의 페이지로 redirect 되는 기능을 구현하려고 합니다. 해당 코드는 다음과 같습니다.

def post_detail(request, post_id):
    post = get_object_or_404(Post, pk=post_id)
    if request.method == 'POST':
        form = CommentForm(request.POST)
        if not request.user.is_authenticated:
            return redirect('%s?next=%s' % ('common:login', request.path))
        if form.is_valid():
            comment = form.save(commit=False)
            comment.author = request.user
            comment.pub_date = timezone.now()
            comment.post_id = post.id
            comment.save()
            return redirect('chemblog:post_detail', post_id=post.id)

    return render(request, 'chemblog/post_detail.html', {'post': post})

그러나 실행해보면 다음과 같은 에러메시지가 나타납니다.

DisallowedRedirect at /chemblog/post/310/
Unsafe redirect to URL with protocol 'common'

나름 장고 문서도 열심히 뒤져보고 검색도 해보았지만 도무지 이유를 모르겠습니다.
조언해 주시면 감사하겠습니다. 감사합니다.

yje27188795 340

M 2022년 8월 15일 12:43 오전

다음을 참고하여 @login_required와 next를 활용해 보세요. https://wikidocs.net/71306#next - 박응용님, 2022년 8월 15일 12:46 오전 추천 , 대댓글
목록으로