我是 Django 框架的初學者。我創建了我的專案并創建了我的應用程式并對其進行了測驗,在我決定添加模板之前它作業正常。我不知道錯誤來自哪里,因為我遵循 Django 檔案所說的方法,在您的應用程式檔案夾中創建檔案夾名稱模板,使用您的應用程式名稱創建一個檔案夾,最后在該檔案夾中創建 HTML 檔案。
注意:除模板外,其他路線作業正常
請在下面查看我的檔案結構和錯誤的螢屏截圖。 檔案結構
錯誤
TemplateDoesNotExist at /blog/
Blog/index
Request Method: GET
Request URL: http://127.0.0.1:8000/blog/
Django Version: 4.0.1
Exception Type: TemplateDoesNotExist
Exception Value:
Blog/index
Exception Location: C:\Python39\lib\site-packages\django\template\loader.py, line 19, in get_template
Python Executable: C:\Python39\python.exe
Python Version: 3.9.4
Python Path:
['C:\\Users\\Maxwell\\Desktop\\Django\\WebApp',
'C:\\Python39\\python39.zip',
'C:\\Python39\\DLLs',
'C:\\Python39\\lib',
'C:\\Python39',
'C:\\Users\\Maxwell\\AppData\\Roaming\\Python\\Python39\\site-packages',
'C:\\Python39\\lib\\site-packages',
'C:\\Python39\\lib\\site-packages\\win32',
'C:\\Python39\\lib\\site-packages\\win32\\lib',
'C:\\Python39\\lib\\site-packages\\Pythonwin']
Server time: Sun, 23 Jan 2022 12:04:18 0000
Template-loader postmortem
Django tried loading these templates, in this order:
Using engine django:
django.template.loaders.app_directories.Loader: C:\Users\Maxwell\Desktop\Django\WebApp\Blog\templates\ Blog\index (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Python39\lib\site-packages\django\contrib\admin\templates\ Blog\index (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Python39\lib\site-packages\django\contrib\auth\templates\ Blog\index (Source does not exist)
應用程式/views.py
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def index(request,name):
return HttpResponse(f'Hello {name}')
def html(request):
return render(request,' Blog/index.html')
uj5u.com熱心網友回復:
似乎您使用 渲染模板Blog/index,但您需要指定整個檔案名,因此Blog/index.html并且沒有前導(或尾隨)空格:
def html(request):
return render(request, 'Blog/index.html')
uj5u.com熱心網友回復:
如果@Willem van Onsem 的回答不起作用
在“與 WebApp 相同級別”的主目錄中創建一個模板檔案夾,然后在其中為每個應用程式創建檔案夾
在您的 settings.py 中,您會找到 TEMPLATES 選項
TEMPLATES = [
{
...
'DIRS': [os.path.join(BASE_DIR,'templates')],#add this line
...
]
當你想使用模板時
return render(request,"template_folder/template_name.html")
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/420190.html
標籤:
