+-
如何在views.py中重定向CreateView的URL
class A_modelCreateView(CreateView)in views.py 在urls.py中的 path('create/'),view.A_modelCreateView().as_view(),name='create' 构建一个HTML作为A_model表单的表单,但不在其默认目录(my_app / A_model.form)中

有没有填充参数重定向你想要的网址?

1
投票

是的,CreateView的基础类别之一是FormMixin。这个FormMixin类有一个success_url attribute [Django-doc]。

您可以添加真实网址,或使用reverse_lazy [Django-doc]根据视图名称计算网址。例如:

from django.urls import reverse_lazy
from django.views.generic.edit import CreateView

class A_modelCreateView(CreateView):
    success_url = reverse_lazy('overview_page')
    # ...

其中overview_page在这里是一个假设视图的名称。

如果你没有在success_urlCreateView中指定UpdateView,那么如果模型有这样的方法,它将采用创建/更新的模型对象的get_absolute_url。有关更多信息,请参阅Django documentation。