Как ссылаться на html-файл в подкаталоге templates в теге <a href='url'' в html-шаблоне Django
Я совсем новичок в django, ниже приведена структура папок шаблонов моего проекта
templates
index.html
about.html
contact.html
\student
index.html
\Attendance
attendance.html
....
\Exams
results.html
exam1.html
.....
\Misc
\teachers
index.html
\hrms
adminlogin.html
payslip.html
principallogin.html
....
....
urs.py:
urlpatterns = [
path('admin/', admin.site.urls),
path("",home,name="home"),
views.py:
def home(request):
return render(request, 'index.html')
до сих пор это работает нормально, если я
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div class="u-custom-menu u-nav-container">
<ul class="u-nav u-spacing-30 u-unstyled u-nav-1"><li class="u-nav-item"><a class="u-border-0 u-border-no-bottom u-border-no-left u-border-no-right u-border-no-top u-button-style u-nav-link u-text-active-palette-1-base u-text-grey-90 u-text-hover-palette-1-base" href="{% url 'home' %}" style="padding: 20px 5px;">Home</a>
</li><li class="u-nav-item"><a class="u-border-0 u-border-no-bottom u-border-no-left u-border-no-right u-border-no-top u-button-style u-nav-link u-text-active-palette-1-base u-text-grey-90 u-text-hover-palette-1-base" href="about.html" style="padding: 20px 5px;">About</a>
</li><li class="u-nav-item"><a class="u-border-0 u-border-no-bottom u-border-no-left u-border-no-right u-border-no-top u-button-style u-nav-link u-text-active-palette-1-base u-text-grey-90 u-text-hover-palette-1-base" href="contact.html" style="padding: 20px 5px;">Contact</a>
</li><li class="u-nav-item"><a class="u-border-0 u-border-no-bottom u-border-no-left u-border-no-right u-border-no-top u-button-style u-nav-link u-text-active-palette-1-base u-text-grey-90 u-text-hover-palette-1-base" href="" style="padding: 20px 5px;">Login</a>
<div class="level-2 u-nav-popup u-white u-nav-popup-1">
<ul class="u-h-spacing-20 u-nav u-popupmenu-items u-unstyled u-v-spacing-10 u-nav-2">
<li class="u-nav-item"><a class="u-button-style u-nav-link" href="/hrms/adminlogin.html">Administrator</a></li>
<li class="u-nav-item"><a class="u-button-style u-nav-link" href="/hrms/mangementlogin.html">Management</a></li>
<li class="u-nav-item"><a class="u-button-style u-nav-link" href="/hrms/principallogin.html">Principal</a></li>
<li class="u-nav-item"><a class="u-button-style u-nav-link" href="/teacher/index.html">Teacher</a></li>
<li class="u-nav-item"><a class="u-button-style u-nav-link" href="/student/index.html">Student</a></li>
</ul>
</div>
</li>
</ul>
</div>
</body>
</html>
Мы получаем следующее сообщение об ошибке при запуске проекта, нужна помощь в устранении проблемы.
Not Found: /hrms/adminlogin.html
[01/Nov/2022 10:50:06] "GET /hrms/adminlogin.html HTTP/1.1" 404 4299
Not Found: /hrms/mangementlogin.html
[01/Nov/2022 10:50:06] "GET /hrms/mangementlogin.html HTTP/1.1" 404 4359
Not Found: /hrms/principallogin.html
[01/Nov/2022 10:50:06] "GET /hrms/principallogin.html HTTP/1.1" 404 4362
Not Found: /teacher/index.html
[01/Nov/2022 10:50:06] "GET /teacher/index.html HTTP/1.1" 404 4338
Not Found: /student/index.html
[01/Nov/2022 10:50:06] "GET /student/index.html HTTP/1.1" 404 4344
что нам нужно указать в теге якоря, т.е. <a href= в html шаблоне, чтобы открыть указанную html страницу в подкаталогах шаблонов, т.е. в файле, указанном ниже в структуре папок шаблонов проекта
templates
index.html
about.html
contact.html
\student
index.html <-- this file
\Attendance
attendance.html <-- this file
....
\Exams
results.html
exam1.html
.....
\Misc
\teachers
index.html
\hrms
adminlogin.html
payslip.html
principallogin.html
....
....
пробовал, как указано выше
Вместо
<li class="u-nav-item"><a class="u-button-style u-nav-link" href="/hrms/adminlogin.html">Administrator</a></li>
Добавьте это
<li class="u-nav-item"><a class="u-button-style u-nav-link" href="/hrms/adminlogin/">Administrator</a></li>
Теперь создайте представления и урлы для каждой страницы, которую вы хотите отобразить, потому что Django имеет встроенную библиотеку загрузчика шаблонов.
Улрс быть как
urlpatterns = [
path('admin/', admin.site.urls),
path("",home,name="home"),
path("adminlogin/",adminlogin,name="adminlogin"),
и взгляды как
def home(request):
return render(request, 'index.html')
def adminlogin(request):
return render(request, 'hrms/adminlogin.html')