【发布时间】:2023-03-26 22:32:01
【问题描述】:
我知道这个网站上有很多关于这个问题的问题,但我找不到解决方案。
我在 Windows 10 上使用 Python 3.6 (anaconda) + django 2.0.2。
我正在关注教程:https://docs.djangoproject.com/en/2.0/intro/tutorial03/
这是我的views.py
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
from .models import *
def index(request):
content = 'abcxyz'
context = {'content': content}
return render(request, 'polls/index.html', context)
我在文件夹polls\templates\polls中创建了一个文件index.html
我的settings.py:
INSTALLED_APPS = [
'polls.apps.PollsConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'django_site.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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',
],
},
},
]
WSGI_APPLICATION = 'django_site.wsgi.application'
# Database
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
我遇到了“TemplateDoesNotExist”的问题 - 在我看来 django 试图在
中寻找模板django.template.loaders.app_directories.Loader: /mnt/e/workspace/capec-processing/code/django_site/polls/templates/polls/templates/polls/index.html (Source does not exist)
django.template.loaders.app_directories.Loader: /home/user_name/anaconda3/envs/capec/lib/python3.6/site-packages/django/contrib/admin/templates/polls/templates/polls/index.html (Source does not exist)
django.template.loaders.app_directories.Loader: /home/user_name/anaconda3/envs/capec/lib/python3.6/site-packages/django/contrib/auth/templates/polls/templates/polls/index.html (Source does not exist)
我不确定自己做错了什么,因为我按照 django 网站上的教程进行操作。
你能给我一个提示吗?
更新
这是我的根目录的结构(称为django_site):
django_site
--django_site
----settings.py
--polls
----templates
------polls
--------index.html
----views.py
--db.sqlite3
--manage.py
【问题讨论】:
-
能否请您发布您的项目的目录结构?您可能有两个不同的模板目录,而 django 正在寻找错误的目录。
标签: python django python-3.x django-templates