这个问题在这里已有答案:
使用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)参数的存在或值,或者,或者,我对基于第一个基于类的视图有条件地调用或转发到第二个基于类的视图的正确或最佳方式感到困惑 . 关于url conf中的一个args或kwargs的值 . 请注意,我对这里的重定向一点都不感兴趣 .
1 回答
django run another class-based view (CBV) in a CBV?