Django gagal untuk mencari templat yang ditentukan dan membuang pengecualian jenis TemplateDoesNotExist. Lokasi yang Django jangkakan untuk mencari templat tidak wujud, walaupun templat terdapat pada cakera.
Django mengikut susunan tertentu semasa memuatkan templat:
Dalam kes ini, konfigurasi untuk TEMPLATE_DIRS mengarahkan Django untuk mencari templat dalam /usr/lib/python2.5/site-packages/projectname/templates. Walau bagaimanapun, templat disusun dalam /usr/lib/python2.5/site-packages/projectname/templates/appname/template_name.html. Django tidak dapat mencari templat kerana ia menjangka ia berada dalam akar direktori templat.
Untuk menyelesaikan isu, alihkan templat ke /usr/lib/python2.5 /site-packages/projectname/templates/template_name.html.
Sebagai alternatif, pertimbangkan untuk mengubah suai TEMPLATE_DIRS untuk mencari templat dalam direktori templat aplikasi:
<code class="python">TEMPLATE_DIRS = ( os.path.join(SETTINGS_PATH, 'appname1/templates'), os.path.join(SETTINGS_PATH, 'appname2/templates'), os.path.join(SETTINGS_PATH, 'appname3/templates'), )</code>
Jika penyelesaian di atas tidak berfungsi, semak kebenaran pemilikan direktori templat. Dalam kes yang diberikan, melaksanakan chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/* menyelesaikan isu tersebut, kerana pengguna pelayan web memerlukan kebenaran yang sesuai untuk mengakses templat.
Atas ialah kandungan terperinci Berikut ialah beberapa tajuk berasaskan soalan yang sesuai dengan kandungan anda: Langsung dan Khusus: * Mengapa Django Melemparkan Ralat TemplateDoesNotExist, Walaupun Templat Saya Ada? * Pemuatan Templat Django:. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!