2011-12-07 14 views
0

我有一個簡單的網址不匹配到我的應用程序之一(plaqDjango的 - URL派遣無匹配從應用

主要url.py:

urlpatterns = patterns('', 
    #... 
    url(r'^content/', include('content.urls')), 
    url(r'^$', include('content.urls')), 
    url(r'^plaq/', include('plaq.urls')), 
    #... 
) 

plaq url.py:

urlpatterns = patterns('', 
    (r'^$', pres), 
    (r'pres^$', pres), 
    (r'about^$', about), 
    (r'privacy^$', privacy), 
) 

試圖訪問my_host/plaq/pres給我

使用my_project.urls定義的URL配置,Django的嘗試這些URL模式,順序如下:
...
12 ^內容/
13^plaq/^ $
14^plaq/PRES^$
15^plaq /約^ $
16^plaq /隱私^ $
...
當前的URL,plaq/PRES /,沒有任何相匹配這些。

雖然my_host/plaq顯示良好pres視圖

爲什麼我不能訪問my_host/plaq/pres

回答

1

首先,您需要了解一些關於正則表達式的知識:^表示字符串的開始,但由於某種原因,您最後得到它。其次,你的URL以斜槓結尾,所以你的urlconf也必須。

urlpatterns = patterns('', 
    (r'^$', pres), 
    (r'^pres/$', pres), 
    (r'^about/$', about), 
    (r'^privacy/$', privacy), 
) 
+0

所以很明顯...謝謝 –

1

插入符號(^)匹配字符串的開頭。我想你想要(r'^pres$', pres),(插入符號移到前面)