目次
利用シーン
- ログイン中のユーザ情報で処理を変えたい
- ログイン中のユーザ情報をcontext_data(ctx)をTemplateに渡したい
- ログイン情報を元に別のデータを取得する
ファンクションベースビュー
request.user
requestオブジェクトとして渡されているので呼び出すこと出来る。
ユーザオブジェクトを取得サンプル
def index(request):
user = request.user
ユーザIDを取得サンプル
def index(request):
user = request.user.id
クラスベースビュー
self.request.user
継承した各種Viewクラスでインスタンス変数として定義されているので利用。
ユーザオブジェクトを取得サンプル
class IndexView(TemplateView):
template_name = 'index.html'
def get(self, request, **kwargs):
ctx = {
'user': self.request.user
}
return self.render_to_response(ctx)
ユーザ名を取得サンプル
class IndexView(TemplateView):
template_name = 'index.html'
def get(self, request, **kwargs):
ctx = {
'username': self.request.user.username
}
return self.render_to_response(ctx)