我想在一個URL下使用兩個不同的CBV - 取決於用戶的權限。意見很不一樣,我不想將這兩種觀點融合爲一種。多個基於一個URL的視圖
這會是一個很好的方法嗎?我想到的是這樣的:
class View1(TemplateView):
...
class View2(TemplateView):
...
def unified_view(request):
if request.user.has_perm('...'): # here I could decide which CBV to use
return View1
return View2
unified_view
會在應用程序的urls.py
使用,並決定使用哪個CBV。顯然return View1
不起作用。什麼是正確的電話?
差不多。我繼續玩耍。使用'View1.as_view()(request)'適用於我。如果基於功能的視圖有參數,我想我需要使用'View1.as_view()(request,* args,** kwargs)'。 – mawimawi