2011-08-09 278 views
2

我有一個urls.py:爲什麼我的registration/reset_password_done.html模板沒有被Django使用?

from django.contrib.auth.views import (password_reset, password_reset_done, 
             password_change, password_change_done) 

[...] 
urlpatterns += i18n_patterns('', 
     url(r'^accounts/password_reset/$', password_reset, 
      {'template_name': 'registration/password_reset.html', 
       "post_reset_redirect": '/accounts/password_reset_done/' }, 
      name='reset-password'), 
     url(r'^accounts/password_reset_done/$', password_reset_done, 
      {'template_name': 'registration/password_reset_done.html'}, 
      name="reset-password-done")) 

而在應用/模板/登記的相關模板。

password_reset顯示我的模板,但是password_reset_done沒有顯示(它顯示了具有相同名稱的管理模板)。在其中運行pdb確認傳遞了正確的模板名稱。我tripple檢查模板的名稱。

+0

它使用默認模板還是說'找不到模板'? – Leopd

+0

引用自己:「顯示同名的管理員模板」 –

回答

0

我終於找到了答案:

的應用程序模板加載器將呈現他找到匹配的名稱的第一個模板,這個順序由INSTALLED_APPS您的應用程序的順序確定。

只需在INSTALLED_APPS開始時添加包含我的模板的應用程序的名稱即可解決問題。

1

那麼將password_reset_done.html的名稱更改爲password_reset_done2.html並相應地更改urls.py如何?這與管理模板之間是否還存在衝突?

此外,它可能與urlpatterns + = i18n_patterns ...代碼發生的位置有關。它是在默認管理網址之前還是之後發生的:

(r'^admin/', include(<location of default admin urls>)), 

..或者它看起來像什麼。也許他們重寫您的自定義網址?

+0

我在包含管理員後出現。但我之前試圖加入它,但效果並不理想。 –

+0

您的解決方法奏效。我會接受你的答案,即使它不回答這個問題,因爲無論如何你都是唯一的答案,並且解決了我的問題。 –

相關問題