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

Patricia Arquette
Lepaskan: 2024-11-01 10:00:04
asal
188 orang telah melayarinya

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/*
    Salin selepas log masuk
  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>
    Salin selepas log masuk
  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>
    Salin selepas log masuk
  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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!