所以我試圖從...打開一個模板

但模板檔案未顯示如下...

from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def index(request):
return render(request, "home/index.html")
奇怪的是我的網頁仍然有效,而當我洗掉該功能時它卻沒有。
這是一些附加資訊...
設定bgs.py

# Application definition
INSTALLED_APPS = [
'project_long_page',
'about',
'home',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
主頁/urls.py

from django.urls import path
from . import views
urlpatterns = [
path("", views.index, name="index"),
]
uj5u.com熱心網友回復:
您的模板檔案夾應該在您的應用程式檔案夾主目錄中(在 about 下),否則 Django 將找不到它。查看https://django-project-skeleton.readthedocs.io/en/latest/structure.html以了解正確的檔案結構。我的猜測與您的模板檔案夾中的其他檔案夾相同。您可以在根目錄中有一個模板檔案夾,但我認為這不是您需要的。
要創建一個全域模板,您可以在您的根“testWebsite”目錄中創建一個模板檔案夾,就像您已經擁有的一樣。然后在您的 settings.py 中執行以下操作:
# settings.py
TEMPLATES = [
{
...
'DIRS': [str(BASE_DIR.joinpath('templates'))],
...
},
]
我通常做的是在每個應用程式中創建一個 base.html,然后在應用程式內的每個 html 頁面中添加一行,如{% extends "home/base.html" %}. 并在您的每個 base.html 檔案中添加{% extends "base.html" %}
像這樣的東西(我沒有包括所有檔案,只是一個示例):
testWebsite
├── about
│ └── templates
│ └── about
│ ├── base.html
│ └── about.html
├── home
│ └── templates
│ └── home
│ ├── base.html
│ ├── greet.html
│ └── index.html
├── project_long_page
│ └── templates
│ └── project_long_page
│ ├── base.html
│ └── project_long_page.html
├── templates
│ └── base.html
└── testWebsite
└── settings.py
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/404869.html
標籤:
