2011-02-15 242 views
1

我的網址爲我的應用程序是這樣的:網址無法正常工作

(r'^admin/', include(admin.site.urls)), 
(r'^contractManagement/login', 'django.contrib.auth.views.login', {'template_name': 'login.html'},()), 
(r'^contractManagement/logout', 'contractManagement.contracts.views.logout_view'), 
(r'^contractManagement/', 'contractManagement.contracts.views.index'), 
(r'^accounts/profile/(?P<contract>[^/]+)/edit$', 'contractManagement.contracts.views.editContract'), 
(r'^accounts/profile/(?P<contract>[^/]+)/$', 'contractManagement.contracts.views.viewContract'), 
(r'^accounts/profile/$', 'contractManagement.contracts.views.loggedIn'), 
(r'^accounts/profile/newContract$', 'contractManagement.contracts.views.addContract'), 
(r'^accounts/profile/newClient$', 'contractManagement.contracts.views.addClient'),    
(r'^accounts/profile/logout$', 'django.contrib.auth.views.logout', {'template_name': 'LoggedOut.html'},()), 

我現在得到一個錯誤無合同給定的查詢相匹配。這是一個404錯誤。我不知道爲什麼/accounts/profile/newContract/的意見不需要合同。如果你需要任何其他的留言。 。

回答

2

Django的URL模式按順序處理。看起來您的/accounts/profile/newContracts/的網址與您的'^accounts/profile/(?P<contract>[^/]+)/$'模式匹配。

嘗試移動您的r'^accounts/profile/newContract$'模式更高。 (並修復缺失的'拼寫錯誤)

但更重要的是,確保您有一個不含糊的URL方案。

+0

是的,我知道這是我的兄弟的一個小測試應用程序,以顯示在軌道上使用Django的簡單性。 – Dean 2011-02-15 23:50:07

0

(R '^賬戶/資料/ newContract $' newContract - 沒有小號 ,你去到/帳號/資料/ newContracts帶S在結束 如果你newContracts將matcht這個網址:。 (R '^賬戶/資料/(?P [^ /] +)/ $', 'contractManagement.contracts.views.viewContract'), 並會尋找newContracts

+0

對不起,我的錯誤打字真的很快並不意味着把那裏。 – Dean 2011-02-15 23:48:39