2011-02-13 69 views
0

嗨,我开始学习Django,我面临同样的麻烦。你们可以帮助一个愚蠢的问题。Django dummie问题

我在我的base.html有一个导航菜单它工作正常,但问题是,当我点击其中一个链接,我的view.py render_to_response正确的页面,但一旦我到达那里,如果我再次点击在这个链接它只是和我的网址相同的模式和我urls.py没有找到它。 就像那样。

第一次点击:

//127.0.0.1:8000/cliente/cadastro/

第二次点击:

//127.0.0.1:8000/cliente/cadastro/cliente/ cadastro/

我相信这是我面对具有管理员同样的问题

第一次点击:

//127.0.0.1:8000/admin/

它的工作原理。

第二次点击:

//127.0.0.1:8000/cliente/cadastro/admin/

这是行不通的。

的url.py是如下:

urlpatterns = patterns('', 
    # Example: 

    (r'^', include('cliente.urls')), 

     (r'^admin/', include(admin.site.urls)), 
    ) 

    #seta os arquivos estaticos , css e javascript 
    urlpatterns += patterns('', 

(r'^/css/(?P<path>.*)$', 'django.views.static.serve', 
{'document_root':'/home/lioy/django_projects/terrasis/css/'}), 

(r'^/js/(?P<path>.*)$', 'django.views.static.serve', 
{'document_root':'/home/lioy/django_projects/terrasis/js/'}), 

    ) 

的包括( 'cliente.urls'):

urlpatterns = patterns('cliente.views', 

(r'^$', 'home'), 
(r'^cliente/cadastro/$', 'cadastro'), 

    ) 

我如何管理的?

回答

2

在你的base.html文件中,你应该确保使用绝对路径而不是相对路径。

这是一个绝对路径的例子(注意前导正斜杠):

<a href="/cliente/cadastro/">A client</a> 
    <!--^leading slash --> 

而这正是你应该避免:
这是一个相对路径的例子(没有主要的正斜杠):

<a href="cliente/cadastro/">ay, que barbaridad</a> 
    <!--^no leading slash -->