Django找不到模板(templates)文件的解決辦法


看完這篇文章知道原理后,發現我的項目根目錄下templates里面有一個空的index.html模版,導致和index文件下的templates文件夾里面模版名重復了,所以調用了根目錄下的模版

 

 

 

 

 

Djang遇到找不到模板HTML文件的的問題,網上找到的很多解決辦法都是修改

把settings.py->"templates"->"DIRS"修改為

'DIRS': [os.path.join(BASE_DIR,"templates")]
但是我發現這里在新建項目時早就自動配置好了的,根本不需要改

'DIRS': [BASE_DIR / 'templates']
最后在官方文檔中找到答案

首先,在你的 polls 目錄里創建一個 templates 目錄。Django 將會在這個目錄里查找模板文件。

你項目的 TEMPLATES 配置項描述了 Django 如何載入和渲染模板。默認的設置文件設置了 DjangoTemplates 后端,並將 APP_DIRS 設置成了 True。這一選項將會讓 DjangoTemplates 在每個 INSTALLED_APPS 文件夾中尋找 "templates" 子目錄。這就是為什么盡管我們沒有像在第二部分中那樣修改 DIRS 設置,Django 也能正確找到 polls 的模板位置的原因。

在你剛剛創建的 templates 目錄里,再創建一個目錄 polls,然后在其中新建一個文件 index.html 。換句話說,你的模板文件的路徑應該是 polls/templates/polls/index.html 。因為``app_directories`` 模板加載器是通過上述描述的方法運行的,所以 Django 可以引用到 polls/index.html 這一模板了。
————————————————

我的APP中已經建立了templates文件夾,也在其中添加了APP同名的子文件夾,唯一沒有做的就是把APP添加到settings.py的 INSTALLED_APPS 因為我一開始誤以為這個只是和models生成數據表有關,而我的APP中並不需要models,也不需要生成數據表,所以就沒有把APP添加到INSTALLED_APPS 。

最后添加APP到INSTALLED_APPS ,終於找到模板了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM