返回并链接到主页django

时间:2016-03-02 13:09:15

标签: python django

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

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

在client / views.py中,我有代码:

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

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

在core / views.py模块中,我有以下功能:

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

“home.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时,浏览器上的网址没有重定向到主页,但显示的内容如下:

localhost:8000/client/home当我想回到localhost:8000时。

我该怎么办?

谢谢。

1 个答案:

答案 0 :(得分:2)

首先,为网址设置名称很有用:

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中的网址设置名称。

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