返回并链接到主页 django



我在DJANGO中有一个结构为这样的项目:

/
|---- core
|---- client

在客户端/视图.py中,我有代码:

class ClientDelete(DeleteView):
    model = Cliente
    success_url = reverse_lazy('cliente_list')

其中client_list是客户端/客户端上列出所有客户端的 HTML 页面。

在核心/视图.py模块中,我有以下功能:

def homepage(request):
    return render(request, 'home.html')

其中"主页.html"是主页。我的主要 urls.py 是这样的:

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^cliente/', include('clientes.urls')),
    url(r'^about/', aboutpage),
    url(r'^$', homepage),
]

我需要返回并链接到客户端、核心和其他应用程序到主页。但是当我尝试将主页返回到 client.views.ClientDelete 时,浏览器上的 url 没有重定向到主页,而是显示如下内容:

localhost:8000/client/home我想回到localhost:8000的时候.

我该怎么办?

谢谢。

首先,设置 url 的名称很有用:

url(r'^$', homepage, name='home')

因此,对于您的代码,您应该执行以下操作:

class ClientDelete(DeleteView):
    model = Cliente
    success_url = reverse_lazy('home')

如果要重定向到主页。如果您有不同的应用,也可以使用命名空间。因此,您将能够执行以下操作:

# redirect to home
success_url = reverse_lazy('home')
# redirect to clients list
success_url = reverse_lazy('clients:list')

要使用它,您需要进行以下更改:

url(r'^cliente/', include('clients.urls', namespace='clients'))

并为 clientes.urls 中的 url 设置一个名称。

文档:https://docs.djangoproject.com/es/1.9/topics/http/urls/#url-namespaces-and-included-urlconfs

最新更新