gpt4 book ai didi

django - 基于类的 View 委托(delegate)给另一个 View

转载 作者:行者123 更新时间:2023-12-03 12:05:41 26 4
gpt4 key购买 nike

是否可以将基于类的 View 委托(delegate)给特定的基于类的 View ?具体来说,我想做的是拥有/指向一个名为“home”的 View ,如果用户登录,则带有委托(delegate)给 View A 的主视图,或者如果没有用户登录,则指向 View B。或者我可以做一个重定向到不同的 URL。我不确定这里的最佳做法是什么。

最佳答案

您可以以与 url 中使用的相同方式从 View 中调用另一个 View

class HomeView( TemplateView ):
template_name="index.html"

def dispatch( self, request, *args, **kwargs ):
if request.user.is_authenticated():
view=UserHomeView.as_view()
return view( request, *args, **kwargs )
return super( HomeView, self ).dispatch( request, *args, **kwargs )


class UserHomeView( TemplateView ):
template_name="user.html"

关于django - 基于类的 View 委托(delegate)给另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16204096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com