djangoのページでログインしないと見られないようにする | www.yoshiislandblog.net

djangoのページでログインしないと見られないようにする

DjangoでChatアプリを作る5(チャットの投稿が別画面でもリアルタイムに反映されるまで)の続き

djangoのページでログインしないと見られないようにするには、
@login_required をつけるだけ(モジュールのインポートも忘れずに)

% cat mysite/chat/views.py
from django.shortcuts import render
from django.utils.safestring import mark_safe
import json
from django.contrib.auth.decorators import login_required  ★ここ

@login_required  ★ここ
def index(request):
    return render(request, 'chat/index.html', {})

@login_required  ★ここ
def room(request, room_name):
    return render(request, 'chat/room.html', {
        'room_name_json': mark_safe(json.dumps(room_name))
    })

しかし、このままだと、chatルームに入ろうとしたら、ログイン要求され、ログインしたらhomeに戻ってしまう。
元いた場所に飛ばされるようにするには、以下リンク参考にしてください
djangoでログインした後、「LOGIN_REDIRECT_URL」ではなく、元いた場所に飛ばされるようにする

%d bloggers like this: