Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah saya mendapat ralat \"TemplateDoesNotExist\" dalam apl Django saya, walaupun fail templat wujud?

Mengapakah saya mendapat ralat \"TemplateDoesNotExist\" dalam apl Django saya, walaupun fail templat wujud?

Patricia Arquette
Patricia Arquetteasal
2024-11-01 10:00:04173semak imbas

Why am I getting a

Django "TemplateDoesNotExist" Ralat: Penyelesaian Masalah dan Penyelesaian

Masalah:

Apabila mengakses a URL dalam aplikasi Django, ralat ditemui: "TemplateDoesNotExist at /appname/path appname/template_name.html." Walaupun fail templat wujud pada cakera, Django tidak dapat mencarinya.

Penyelesaian:

  1. Semak Lokasi Templat:

    Pastikan fail templat terletak dalam direktori yang betul. Secara lalai, Django mencari templat dalam templat/ direktori dalam setiap aplikasi Django yang dipasang. Semak sama ada fail templat berada di lokasi ini untuk aplikasi yang sepadan.

  2. Sahkan Kebenaran:

    Pastikan pengguna menjalankan aplikasi Django mempunyai kebenaran yang diperlukan untuk membaca fail templat. Cuba tukar kebenaran fail menggunakan arahan berikut:

    chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/*
  3. Gunakan FileSystemLoader:

    Dalam fail tetapan Django anda, nyatakan FileSystemLoader dengan jelas sebagai pemuat templat. Ini memastikan Django mencari templat dalam sistem fail dan bukannya menggunakan AppDirectoriesLoader lalai:

    <code class="python">TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')],
            'APP_DIRS': True,
        },
    ]</code>
  4. Tentukan SETTINGS_PATH:

    Jika SETTINGS_PATH tidak ditakrifkan dalam fail settings.py anda, tambahkan baris berikut untuk memastikan ia dikonfigurasikan dengan betul:

    <code class="python">import os
    SETTINGS_PATH = os.path.dirname(os.path.dirname(__file__))</code>
  5. Semak Apl yang Dipasang:

    Sahkan bahawa apl yang mengandungi fail templat disenaraikan dalam tetapan INSTALLED_APPS dalam fail tetapan Django anda.

  6. Semak Nama Templat:

    Pastikan bahawa nama templat yang dinyatakan dalam kod anda sepadan dengan nama fail sebenar pada cakera. Semak jika ada kesilapan taip atau huruf besar.

  7. Gunakan Log Nyahpepijat:

    Konfigurasikan aplikasi Django anda untuk mengeluarkan log nyahpepijat dan semak jika ada maklumat tambahan disediakan yang boleh membantu mengenal pasti isu tersebut.

Atas ialah kandungan terperinci Mengapakah saya mendapat ralat \"TemplateDoesNotExist\" dalam apl Django saya, walaupun fail templat wujud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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