teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2020/10/10 02:08

投稿

sfdust
sfdust

スコア1137

answer CHANGED
@@ -5,6 +5,7 @@
5
5
  # views.py
6
6
  from django.contrib.auth.mixins import LoginRequiredMixin
7
7
  from django.http import HttpResponseRedirect
8
+ # from django.shortcuts import redirect # HttpResponseRedirectの代わりにredirect()関数を使うときのimport
8
9
  from django.urls import reverse,reverse_lazy
9
10
  from django.views import generic
10
11
  from .models import Company
@@ -17,6 +18,10 @@
17
18
  if Company.objects.filter(user=user).exists():
18
19
  company = Company.objects.get(user=user)
19
20
  return HttpResponseRedirect(reverse('appname:company_detail', kwargs={'pk': company.id}))
21
+ # 短縮して下記のような書き方もできます、(冒頭でredirect()関数をimportする必要あり)
22
+ # return redirect('appname:company_detail', pk=company.id)
20
23
  return HttpResponseRedirect(reverse('appname:company_create'))
24
+ # 短縮して下記のような書き方もできます。
25
+ # return redirect('appname:company_create')
21
26
 
22
27
  ```

1

修正

2020/10/10 02:08

投稿

sfdust
sfdust

スコア1137

answer CHANGED
@@ -1,5 +1,22 @@
1
+ 下記のようにしてみました。
1
- except company.DoesNotExist
2
+ .exists()関数を使用しています。
2
-
3
- except Company.DoesNotExist
4
3
 
4
+ ```Python
5
- とした場合、いかがでしょうか?
5
+ # views.py
6
+ from django.contrib.auth.mixins import LoginRequiredMixin
7
+ from django.http import HttpResponseRedirect
8
+ from django.urls import reverse,reverse_lazy
9
+ from django.views import generic
10
+ from .models import Company
11
+
12
+ class IndexView(LoginRequiredMixin,generic.TemplateView):
13
+ template_name = 'index.html'
14
+
15
+ def get(self, request, **kwargs):
16
+ user = self.request.user
17
+ if Company.objects.filter(user=user).exists():
18
+ company = Company.objects.get(user=user)
19
+ return HttpResponseRedirect(reverse('appname:company_detail', kwargs={'pk': company.id}))
20
+ return HttpResponseRedirect(reverse('appname:company_create'))
21
+
22
+ ```