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.

Вернуться на верх