我正在 django 3.1.1 中创建我的第一个 django 应用程序。有旧 django 版本的视频教程,但它们并不总是有效......我想为 home 和 about 部分创建 HTML 页面。我已经写了一些 HTML 文件,但是
def home(request):
return render(request, 'home.html')
不想工作。我添加我的文件树供您查看文件的结构。
RemoveBigFile
├── RBF1module
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── RemoveBigFile
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-38.pyc
│ │ ├── settings.cpython-38.pyc
│ │ ├── urls.cpython-38.pyc
│ │ ├── views.cpython-38.pyc
│ │ └── wsgi.cpython-38.pyc
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ ├── views.py
│ └── wsgi.py
├── RemoveBigFile.sublime-project
├── RemoveBigFile.sublime-workspace
├── db.sqlite3
├── manage.py
└── templates
├── about.html
└── home.html
这就是我得到的错误信息:
TemplateDoesNotExist at /
home.html
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 3.1.1
Exception Type: TemplateDoesNotExist
Exception Value:
home.html
Django 还要求我将我的模板放在名为模板的主要 django 安装目录之一中,据我所知,如果我这样做,我将无法将我的应用程序发送给其他人(这就是我打算做的完成后用它)。我使用我的 RemoveBigFile/RemoveBigFile views.py 将 django 指向 HTML 模板。
编辑:根据要求,我从 settings.py 添加我的模板定义
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',
],
},
},
]
如我所见,DIRS 中没有任何内容。我应该将模板的路径放在 DIRS 括号中吗?
我还有一个问题 - 在 manage.py 所在的文件夹或 settings.py 所在的文件夹中有模板更好吗?