はじめに
今回はDjangoを使って友達リスト的なアプリを作成しようと思います。
プロジェクト名はTomodachi
ログインしているユーザーのみ一覧表示画面に行けるようにする(エラー解決)
'AnonymousUser' object is not iterable
このエラーはどうやらAnonymousUser(未ログインユーザー)によるエラーでした。
未ログインユーザーはカテゴリを持っていないよという感じですね。
前回のエラーの原因がわかりました。
一旦休憩して間を置くとわかることもあるもんですね。
それ以前にエラー文をしっかり理解できていればよかった。
# ブランチ作成
$ git branch feature-loginuser-access
$ git checkout feature-loginuser-access
friendslist/views.py
# ログインユーザーしか処理できないようにする
from django.contrib.auth.decorators import login_required
@login_required
def index(request):
@login_required
def create(request):
@login_required
def friend(request, pk):
ログイン・新規登録以外のその他のmethodにも追加する
friendslist/views.py
# 新規登録後そのままログインできるようにする(そもそも前回これができていなかった)
from django.contrib.auth import login
def signup(request):
context = {}
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
user = form.save(commit=False)
# user.is_active = False
user.save()
login(request, user) ←☆追加する
messages.success(request, '登録完了!!!')
return redirect('/') ←(/login/)から(/)に変更する
return render(request, 'friendslist/auth.html', context)
さいごに
今回は新規登録時のログインエラーを実装しました。
ログインユーザーのみがアプリを使用できる
新規登録後にログインできるようにする
次回は
DBの設定とデプロイをします!