首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django urls href重定向bug

Django urls href重定向bug
EN

Stack Overflow用户
提问于 2022-01-23 18:22:36
回答 1查看 73关注 0票数 2

当我点击我的肚脐上的“a残杀”按钮来访问我的“意外”页面时,它正确地加载了页面,但是当它应该是http://127.0.0.1:8000/contact/apropos/时,它使用这个url http://127.0.0.1:8000/apropos/加载页面。

当我点击肚脐上的"contact“按钮时,它会将我重定向到这个urls http://127.0.0.1:8000/contact/contact

当我点击“习惯”时,它会将我重定向到http://127.0.0.1:8000/contact,而它应该将我重定向到http://127.0.0.1:8000/

mysite/urls.py

代码语言:javascript
复制
urlpatterns = [
    path("", include("main.urls")),    
    path('admin/', admin.site.urls),
    path("apropos/", include("main.urls")),
    path("contact/", include("main.urls")),
]

main/urls.py

代码语言:javascript
复制
urlpatterns = [
    path("", views.home, name="home"),
    path("apropos/", views.apropos, name="apropos"),
    path("contact/", views.contact, name="contact")
]

views.py

代码语言:javascript
复制
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 (肚脐节)

代码语言:javascript
复制
<!-- 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 -->
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-23 18:48:35

我认为有两个问题可能是造成这种情况的原因。首先,根urls.py应该如下所示:

代码语言:javascript
复制
urlpatterns = [
    path("", include("main.urls")),    
    path('admin/', admin.site.urls),
]

为什么?主urls.py将被附加到根目录中的include("main.urls")中,对于相同的路径,不应该有多个include("main.urls")

其次,您需要在锚链接中放置单引号,例如:

代码语言:javascript
复制
<a href="{% url 'home' %}">Home</a>

为什么?因为否则双引号将在url之后结束,然后在回家后重新开始。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70825232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档