This question already has an answer here:
django run another class-based view (CBV) in a CBV?
(1个答案)
5年前关闭。
对于Django函数视图,调用不同的视图函数以便将请求“转发”到不同的视图是非常简单的。(django代码库有时在其管理视图中执行此操作。)只需调用函数并返回结果。
例如:
从功能视图到基于类的视图也很容易:
然而,对于基于一个基于类的视图,基于URL(get)PARAM的存在性或值,或者,从URL CONG的ARG或KARWG中的一个的值,有条件地或最好地从第1类视图中有条件地调用或转发第二类的视图。
django run another class-based view (CBV) in a CBV?
(1个答案)
5年前关闭。
对于Django函数视图,调用不同的视图函数以便将请求“转发”到不同的视图是非常简单的。(django代码库有时在其管理视图中执行此操作。)只需调用函数并返回结果。
例如:
def change_view(request, *args, **kwargs):
if 'save_as_new' in request.GET:
return add_view(request, *args, **kwargs)
从功能视图到基于类的视图也很容易:
def change_view(request, *args, **kwargs):
if 'save_as_new' in request.GET:
return AddView.as_view()(request, *args, **kwargs)
然而,对于基于一个基于类的视图,基于URL(get)PARAM的存在性或值,或者,从URL CONG的ARG或KARWG中的一个的值,有条件地或最好地从第1类视图中有条件地调用或转发第二类的视图。
最佳答案
class CBViewA(View):
def get(request, *args, **kwargs):
if 'save_as_new' in request.GET:
return AddView.as_view()(request, *args, **kwargs)
django run another class-based view (CBV) in a CBV?
关于python - Django基于类的 View :调用(转发至)不同的基于类的 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16281249/
10-16 07:09