クラス ベースのビューを特定のクラス ベースのビューに委譲することは可能ですか? 具体的には、「ホーム」と呼ばれるビューと、ユーザーがログインしている場合はビュー A に、ユーザーがログインしていない場合はビュー B に委任されたホーム ビューを指定します。別の方法として、別の URL にリダイレクトします。ここで何がベストプラクティスになるかわかりません。
3 に答える
1
別の URL にリダイレクトするだけで、その URL もクラス ベースのビューによって提供されます。
urls.py
url(r'^$', HomeView.as_view(), name='home'),
url(r'^login/', LoginView.as_view(), name='login'),
url(r'^welcome/$', WelcomeView.as_view(), name='welcome')
ビュー.py
class HomeView(TemplateView):
def get(self, request, *args, **kwargs):
if request.user.is_authenticated():
return HttpResponseRedirect(reverse('welcome'))
else:
return HttpResponseRedirect(reverse('login'))
class WelcomeView(TemplateView):
def get(self, request, *args, **kwargs):
#do something
class LoginView(TemplateView):
def get(self, request, *args, **kwargs):
#show login page
于 2013-04-25T03:07:08.073 に答える