在Django Python中将视图重定向到另一个视图

0le*_*leg 6 python django

如何从一个视图重定向到另一个视图(下一个视图):

class FooView(TemplateView):
  template_name 'foo.html'

  def post(self, *args, **kwargs):
    return redirect(BarView)
    # return redirect(BarView.as_view()) ???

class BarView(TemplateView):
  template_name 'bar.html'
Run Code Online (Sandbox Code Playgroud)

Dan*_*man 15

在urls.py中为URL模式本身指定一个名称:

url('/bar/', BarView.as_view(), name='bar')
Run Code Online (Sandbox Code Playgroud)

并将其传递给重定向:

return redirect('bar')
Run Code Online (Sandbox Code Playgroud)


Hen*_*son 6

如果您已在 中为视图指定了名称,则可以使用重定向urls.py

from django.shortcuts import redirect
return redirect('some-view-name')
Run Code Online (Sandbox Code Playgroud)