django でセッション変数にアクセスするのに苦労しています。
custom_user と article の 2 つの異なるアプリがあります。custom_user の views.py ファイルで、セッション変数を宣言しました。
def auth_view(request):
username = request.POST.get('username', '')
password = request.POST.get('password', '')
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request, user)
request.session['email'] = user.email
return render_to_response(request, "loggedin.html", locals(),context_instance=RequestContext(request))
else:
return HttpResponseRedirect('/accounts/invalid')
記事アプリのviews.pyでは、このようにアクセスしています。
def articles(request):
return render_to_response('articles.html',
{'articles':Article.objects.all().order_by('-id'),'last':Article.objects.earliest('-pub_date'), 'loggedin':request.session.email})
私の article.html ファイルは base.html ファイルを継承し、そこで {{loggedin}} を使用して変数にアクセスしています。{{request.session.email}} を使用しましたが、これも機能しません
最終的にやりたいことは、base.html ファイルにある navbar で、サイト全体にログインしているユーザーの電子メール アドレスを表示することです。
auth_view関数でレンダリングされたloggedin.htmlファイルのuser.email値のみを取得しています。他のhtmlファイルにはありません。