TemplateDoesNotExist错误Django未定义模板appers



首先,我在web浏览器上收到一条错误消息。

上面写着,

'TemplateDoesNotExist at/

index.html,base/item_list.html'.

控制台错误信息显示,

Internal Server Error: /
Traceback (most recent call last):
File "C:UserskgwtmDesktopDjangoDjango-FujimotoVegeKetvenvlibsite-packagesdjangocorehandlersexception.py", line 47, in inner
response = get_response(request)
File "C:UserskgwtmDesktopDjangoDjango-FujimotoVegeKetvenvlibsite-packagesdjangocorehandlersbase.py", line 204, in _get_response
response = response.render()
File "C:UserskgwtmDesktopDjangoDjango-FujimotoVegeKetvenvlibsite-packagesdjangotemplateresponse.py", line 105, in render
self.content = self.rendered_content
File "C:UserskgwtmDesktopDjangoDjango-FujimotoVegeKetvenvlibsite-packagesdjangotemplateresponse.py", line 81, in rendered_content
template = self.resolve_template(self.template_name)
File "C:UserskgwtmDesktopDjangoDjango-FujimotoVegeKetvenvlibsite-packagesdjangotemplateresponse.py", line 63, in resolve_template
return select_template(template, using=self.using)
File "C:UserskgwtmDesktopDjangoDjango-FujimotoVegeKetvenvlibsite-packagesdjangotemplateloader.py", line 47, in select_template
raise TemplateDoesNotExist(', '.join(template_name_list), chain=chain)
django.template.exceptions.TemplateDoesNotExist: pages/index.html, base/item_list.html
[23/Feb/2022 16:19:38] "GET / HTTP/1.1" 500 83837

首先,我甚至不会在Django项目中的任何文件中创建或声明"base/item_list.html"。

我已经创建了"配置"项目和"基础"应用程序。

此处为项目"配置"文件组织。

此处为应用程序"基本"文件组织。

config/uls.py。

from django.contrib import admin
from django.urls import path
from base import views

urlpatterns = [
path('admin/', admin.site.urls),
path('', views.IndexListView.as_view()),
]

base/views/item_views.py此处

from django.shortcuts import render
from django.views.generic import ListView
from base.models import Item

class IndexListView(ListView):
model = Item
template_name = 'pages/index.html'

base/views/init.py。

from .item_views import *

所以,这里是templates/pages/index.html。

{% extends 'base.html' %}

{% block main %}

{% for object in object_list %}
<p>
<a href="/items/{{object.pk}}/">
{{object.name}} - ¥{{object.price}}
</a>
</p>
{% endfor %}

{% endblock %}

以防万一,这里是models.py(在本例中是models/item_models.py(。

from django.db import models
from django.utils.crypto import get_random_string
import os

def create_id():
return get_random_string(22)
def upload_image_to(instance, filename):
item_id = instance.id
return os.path.join('static', 'items', item_id, filename)
class Tag(models.Model):
slug = models.CharField(max_length=32, primary_key=True)
name = models.CharField(max_length=32)
def __str__(self):
return self.name

class Category(models.Model):
slug = models.CharField(max_length=32, primary_key=True)
name = models.CharField(max_length=32)
def __str__(self):
return self.name

class Item(models.Model):
id = models.CharField(default=create_id, primary_key=True, max_length=22,
editable=False)
name = models.CharField(default='', max_length=50)
price = models.PositiveIntegerField(default=0)
stock = models.PositiveIntegerField(default=0)
description = models.TextField(default='', blank=True)
sold_count = models.PositiveIntegerField(default=0)
is_published = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
image = models.ImageField(default='', blank=True,
upload_to=upload_image_to)
category = models.ForeignKey(
Category, on_delete=models.SET_NULL, null=True, blank=True
)
tags = models.ManyToManyField(Tag)
def __str__(self):
return self.name

models/init.py如下。

from .item_models import *

我认为在这个线程中也出现了类似的问题。

我对"base/item_list.html"没有任何线索。

你能帮帮我吗??

提前谢谢。

基本错误。

我编辑settings.py如下。

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'tamplates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

所以,我应该编辑行'DIRS': [BASE_DIR / 'tamplates'],

至CCD_ 2。

最新更新