Django 3x встроенный тег шаблона url // динамические урлы по шаблону имени
Здравствуйте, товарищи, я пытаюсь создать довольно простое приложение и у меня возникла проблема с обработкой тегов шаблона url. Я просмотрел много различных источников и кодировал проект 3 раза, но я понятия не имею, в чем проблема, любое предложение будет большой помощью. спасибо
C:.
├───nps
│ ├───templates
│ └───__pycache__
└───user
├───migrations
│ └───__pycache__
├───templates
│ └───user
└───__pycache__
nps/urls.py
from django.contrib import admin
from django.urls import path,include
from django.views.generic import TemplateView
#include urls from user-app
urlpatterns = [
path('',TemplateView.as_view(template_name='homepage.html')),
path('user/',include('user.urls')),
path('admin/', admin.site.urls),
]
user/urls.py
from django.urls import path
from . import views as user_views
#define names for the specific urls
urlpatterns = [
path('home/',user_views.home,name='user-home'),
path('login/',user_views.loginPage,name='user-login'),
path('register/',user_views.registerPage,name='user-register')
]
#---------------------------------------------------------------------------------------#
базовый макет для шаблонов
user/templates/user/base.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
<title>Document</title>
</head>
<body>
{%block main%}{%endblock main%}
</body>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-/bQdsTh/da6pkI1MST/rWKFNjaCP5gBSY4sEBT38Q/9RBh9AH40zEOg7Hlq2THRZ" crossorigin="anonymous"></script>
</html>
home.html с навигационными ссылками и тегами url
user/templates/user/home.html
{%extends 'user/base.html'%}
{%block main%}
<ul class="nav justify-content-center">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{%url'user-home'%}">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{%url'user-login'%}">Login</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{%url'user-register'%}">Register</a>
</li>
</ul>
{%endblock main%}
#----------------------------------------------------------------------------------------# СООБЩЕНИЕ ОБ ОШИБКЕ
TemplateSyntaxError at/user/home
Необходимо добавить пробел между url
и именем URL, поэтому `{% url 'user-home' %} вместо {%
:url'user-home' %}
<ul class="nav justify-content-center">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'user-home' %}">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'user-login' %}">Login</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'user-register' %}">Register</a>
</li>
</ul>