Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Django Melemparkan Ralat \'TemplateDoesNotExist\' dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Django Melemparkan Ralat \'TemplateDoesNotExist\' dan Bagaimana Saya Boleh Membetulkannya?

Linda Hamilton
Lepaskan: 2024-10-30 18:08:03
asal
1009 orang telah melayarinya

 Why Does Django Throw a

Ralat "TemplateDoesNotExist" Django: Punca dan Penyelesaian

Ralat "TemplateDoesNotExist" Django berlaku apabila rangka kerja tidak dapat mengesan templat untuk dipaparkan Isu ini boleh timbul disebabkan oleh pelbagai salah konfigurasi atau struktur fail yang salah.

Dalam kes yang disediakan, laluan templat ditakrifkan sebagai:

<code class="python">TEMPLATE_DIRS = (
    os.path.join(SETTINGS_PATH, 'templates'),
)</code>
Salin selepas log masuk

Tetapan ini menentukan bahawa Django harus mencari templat dalam subdirektori "template" bagi direktori projek, di mana SETTINGS_PATH dijangka menjadi laluan ke direktori yang mengandungi settings.py.

Walau bagaimanapun, mesej ralat menunjukkan bahawa Django sedang cuba memuatkan templat dari lokasi bermula dengan "/usr/lib/python2.5/site-packages/projectname/templates/appname/". Ini berbeza daripada lokasi yang dijangkakan.

Penyelesaian Berkemungkinan:

  1. Pindahkan Templat:
    Alihkan templat ke boleh diakses daripada laluan TEMPLATE_DIRS yang ditentukan. Ini melibatkan meletakkannya terus di bawah subdirektori "templat" dalam direktori projek. Contohnya:

    /usr/lib/python2.5/site-packages/projectname/templates/appname1/template1.html
    /usr/lib/python2.5/site-packages/projectname/templates/appname2/template2.html
    Salin selepas log masuk
  2. Konfigurasikan Projek Django:
    Pastikan Django dikonfigurasikan dengan betul dalam settings.py. Ini termasuk menentukan aplikasi yang dipasang dan berpotensi menentukan SETTINGS_PATH. Jika SETTINGS_PATH tidak ditakrifkan, tambahkan baris berikut:

    <code class="python">import os
    SETTINGS_PATH = os.path.dirname(os.path.dirname(__file__))</code>
    Salin selepas log masuk
  3. Kebenaran Fail:
    Sebagai penyelesaian sementara, cuba tukar kebenaran templat direktori:

    chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/*
    Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Django Melemparkan Ralat \'TemplateDoesNotExist\' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan