Der*_*rek 3 django django-views django-class-based-views
所以我有一个CBV(A),CBV(B)和一个网址
regex=r'^(?P<slug>[-\w]+)/(?P<app>[-\w]+)'
Run Code Online (Sandbox Code Playgroud)
我想用(A)读入slug和app参数,然后根据这些参数将其重定向到适当的CBV,可能是(B)。我不想使用HttpResponseRedirect或类似的东西来重定向用户,而是基本上运行另一个CBV,就像它是被调用的那样。我如何直接/内部从CBV(A)运行另一个CBV,例如(B)?
您可以这样称呼:
class CBViewA(View):
def dispatch(self, request, *args, **kwargs):
if kwargs['slug'] = "some slug":
return CBViewB.as_view()(request, *args, **kwargs)
else:
return super(CBViewA, self).dispatch(request, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
686 次 |
| 最近记录: |