2012-12-09 158 views
0

我想爲我的第一個django網站加載註冊模板, 我把register.html文件放在/home/Desktop/projects/purple/purple/templates/registration.html 這裏,但有一個錯誤,這是說沒有文件,我不明白這是爲什麼?任何人都可以有一個想法?TemplateDoesNotExist(Django)

請求方法:GET

請求URL:http ...:127.0.0.1:8000/registration/

Django的版本:1.4

異常類型:TemplateDoesNotExist

例外值:registration.html

Django的嘗試加載這些模板,按以下順序:

使用裝載機django.template.loaders.filesystem.Loader:Django的嘗試加載這些模板,按以下順序:

  • 使用裝載機django.template。 loaders.filesystem.Loader:

    • /home/Desktop/projects/purple/purple/templates/registration.html(文件不存在)
  • 使用裝載機django.template.loaders.app_directories.Loader:

    • /usr/local/lib/python2.7/dist-packages/django/contrib/auth/templates/registration.html(文件不不存在)

    • /usr/local/lib/python2.7/dist-packages/django/contrib/admin/templates/registration.html(文件不存在)

  • 使用裝載機django.template.loaders.eggs.Loader:

+0

那麼,/ home/Desktop/projects/purple/purple/templates /中的文件名爲「register.html」還是「registration.html」? – radicalbiscuit

+0

轉到目錄,查看文件是否存在。 'cd/home/Desktop/projects/purple/purple/templates /' –

+0

我可以在終端文件中看到cd與cd – user1835661

回答

2

鑑於例外複製並粘貼是指:

/home/Desktop/projects/purple/purple/templates/registration.html

,並不能找到它......所有你的問題在於是否存在在目錄registration.html

有以下兩種方式:

  1. 文件不存在
    cd進入這個確切目錄,看看它。

  2. 權限
    ls -lh /home/Desktop/projects/purple/purple/templates/registration.html

確保它的可讀性。

chmod 644 /home/Desktop/projects/purple/purple/templates/registration.html 
+1

我檢查了它是可讀的,我發現它在確切的目錄中,但它仍然給出相同的錯誤 – user1835661

+0

你可以顯示'ls -l'的輸出嗎?做過其他模板嗎?管理網站,任何東西。 –

+0

輸出--->「-rw-r - r-- 1 ulascan ulascan 304 Dec 9 22:37 registration.html」我有管理員模板,但它是默認管理員目錄,它也可以工作,但我不確定哪個模板工作存在templates/admin目錄,但默認可以在django文件中工作。 – user1835661

0

你有註冊目錄裏面的Template目錄??

如果是的話包括這是你的settings.py。

TEMPLATE_DIRS = (
 
     BASE_DIR +'/Templates', 
 
     BASE_DIR +'/registration', 
 

 
)

因爲Django是尋找在你的模板目錄,而不是/模板/註冊registration.html。

請參閱您在問題中提到的順序。看路徑。