現状
私はdjangoを使用しています。
その中でURLで取得し、モデルから取得した変数を
user = User.objects.get(username=self.kwargs.get('username'))
get_context_data(self,**kwargs)とget_queryset(self)の両者で使用したいです。
そこでこの変数を一度だけ定義し、userと書くだけで使えるようにしたいです。
クラス変数などを試してみましたがURLから取得がうまく行かなかったりと出来ませんでした。
コード
view.py
python
1class Mypage(generic.ListView): 2 template_name = 'accounts/mypage.html' 3 4 def get_context_data(self, **kwargs): 5 context = super().get_context_data(**kwargs) 6 try: 7 user = User.objects.get(username=self.kwargs.get('username')) 8 return user 9 except User.DoesNotExist: 10 return HttpResponseBadRequest() 11 12 context['username'] = user 13 try: 14 group = belong.objects.get(user=user).group 15 except belong.DoesNotExist: 16 return HttpResponseBadRequest() 17 18 context['count'] = URC.objects.filter(user=user).count() 19 context['group'] = group 20 return context 21 22 def get_queryset(self): 23 return URC.objects.filter(user=)
追記
以下のようにするとエラーが出てしまい
selfが使えないと思っています。
python
1class Mypage(generic.ListView,): 2 template_name = 'accounts/mypage.html' 3 user = User.objects.get(username=self.kwargs.get('username')) 4
SyntaxError: invalid syntax
クラス変数を試したときは何がどう上手く行かなかったのでしょうか?
回答1件
あなたの回答
tips
プレビュー