当我尝试使用默认的django登录页面时,我得到了这个错误:
/login/registration/login.html
这是我的URL文件:
from django.urls import path
from django.urls import path, include
from . import views
urlpatterns = [
path("", views.home, name="home"),
path("main-page/", views.main_page, name="main-page"),
path("kick-page/", views.kick_page, name="kick-page"),
path('', include("django.contrib.auth.urls")), # add django auth pages for login
]
字符串
这是我的views文件:
from django.shortcuts import render
from django.http import HttpResponse
from django.contrib.auth import login, authenticate
from .forms import * #import all the forms from forms.py
def home (response):
form = SignIn()
return render(response, "main/home.html", {"form": form})
#need a page to select site/microtik, and add/remove microtiks
def main_page (response):
return render(response, "main/main_page.html", {})
#Need a page that shows the selected mictotik and a form to enter MAC of device to kick
def kick_page (response):
return render(response, "main/kick_page.html", {})
型
这是我的目录结构:
C:.
└───microsite
│ db.sqlite3
│ manage.py
│
├───main
│ │ admin.py
│ │ apps.py
│ │ forms.py
│ │ models.py
│ │ tests.py
│ │ urls.py
│ │ views.py
│ │ __init__.py
│ │
│ ├───migrations
│ │ │ __init__.py
│ │ │
│ │ └───__pycache__
│ │ __init__.cpython-311.pyc
│ │
│ ├───templates
│ │ └───main
│ │ │ base.html
│ │ │ home.html
│ │ │ kick_page.html
│ │ │ main_page.html
│ │ │
│ │ └───registration
│ │ login.html
│ │
│ └───__pycache__
│ admin.cpython-311.pyc
│ apps.cpython-311.pyc
│ forms.cpython-311.pyc
│ models.cpython-311.pyc
│ urls.cpython-311.pyc
│ views.cpython-311.pyc
│ __init__.cpython-311.pyc
│
└───microsite
│ asgi.py
│ settings.py
│ urls.py
│ wsgi.py
│ __init__.py
│
└───__pycache__
settings.cpython-311.pyc
urls.cpython-311.pyc
wsgi.cpython-311.pyc
__init__.cpython-311.pyc
型
我遵循技术与蒂姆的指南,尝试在我的网站上添加访问控制,这样用户就必须在访问网站上的其他视图之前登录。
我把错误沿着与我的文件信息到聊天GPT,它一直告诉我,错误是造成时,文件“login.html”不存储在一个文件夹中称为“注册”内的模板文件夹。
我有三重检查拼写和验证文件的位置,但我仍然无法得到登录页面加载。我所有的其他网页加载罚款沿着与他们的模板。
如果有人能帮我弄清楚到底发生了什么,我会非常感激。
1条答案
按热度按时间f87krz0w1#
您遇到
TemplateDoesNotExist
错误的原因是由于templates/registration
目录的位置。请确保此目录位于项目的根目录中,特别是microsite/templates/registration/login.html
。login.html
文件的正确路径应该相对于Django识别和访问的项目根目录。