Django urls href redirect ошибка
Когда я нажимаю на кнопку "apropos" на моей панели навигации для доступа к моим страницам "apropos", страница загружается правильно, но с этим url http://127.0.0.1:8000/contact/apropos/, когда он должен быть http://127.0.0.1:8000/apropos/.
он делает то же самое, когда я нажимаю на кнопку "контакт" на моей панели навигации, он перенаправляет меня на этот url http://127.0.0.1:8000/contact/contact
Когда я нажимаю на "Accueil", он перенаправляет меня на http://127.0.0.1:8000/contact .
Когда он должен перенаправить меня на http://127.0.0.1:8000/
mysite/urls.py
urlpatterns = [
path("", include("main.urls")),
path('admin/', admin.site.urls),
path("apropos/", include("main.urls")),
path("contact/", include("main.urls")),
]
main/urls.py
urlpatterns = [
path("", views.home, name="home"),
path("apropos/", views.apropos, name="apropos"),
path("contact/", views.contact, name="contact")
]
views.py
def home(response):
return render(response, "main/index.html", {})
def apropos(response):
return render(response, "main/about.html", {})
def contact(response):
return render(response, "main/contact.html", {})
index.html (раздел navbar)
<!-- header nav section -->
<header class="xs-header-nav">
<div class="container">
<div class="row menu-item">
<div class="col-lg-12">
<nav id="navigation1" class="navigation header-nav clearfix">
<div class="nav-header">
<!-- <a class="nav-brand" href="#"></a>-->
<a href="./index.html" class="mobile-logo">
<img src="static/assets/images/mobile_logo.png" alt="">
</a>
<div class="nav-toggle"></div>
</div>
<div class="nav-menus-wrapper clearfix">
<ul class="nav-menu">
<li class="active"><a href="{% url "home" %}">Home</a>
</li>
<li><a href="#">Services</a>
</li>
<li><a href="gallery.html">Portfolio</a></li>
<li><a href="{% url "apropos" %}">À-propos</a></li>
<li>
<a href="{% url "contact" %}">Contact</a>
</li>
</ul>
<div class="header-nav-right-info align-to-right">
<label><i class="icon icon-phone3"></i> (514) 569-2380</label>
</div>
</div>
</nav>
</div>
</div><!-- .row end -->
</div><!-- .container end -->
</header><!-- End header nav section -->
Я думаю, что есть две проблемы, которые могут быть причиной этого. Первая, ваш корневой urls.py должен быть таким:
urlpatterns = [
path("", include("main.urls")),
path('admin/', admin.site.urls),
]
Почему? Главный urls.py будет добавлен к тем, которые находятся в вашем корне, и вы не должны иметь несколько include("main.urls") для одного и того же пути.
Во-вторых, в якорных ссылках нужно ставить одинарные кавычки, например:
<a href="{% url 'home' %}">Home</a>
Почему? Потому что иначе двойные кавычки заканчивались бы после url, а затем начинались бы снова после home.