【问题标题】:url getting doubled when opening a link from the home page.(django)从主页打开链接时,网址翻倍。(django)
【发布时间】:2020-04-15 04:36:36
【问题描述】:

单击列表中的第二项时,它会打开 events.html 页面,但 url 显示: http://127.0.0.1:8000/events/events/ 而不是 http://127.0.0.1:8000/events

首页代码:

<li><a href="#">HOME</a></li>
<li><a href="{% url 'events' %}">EVENTS</a></li>
<li><a href="#">REGISTERED TEAMS</a></li>
<li><a href="#">CONTACT US</a></li>

网址.py

from django.urls import path
from . import views

urlpatterns = [
     path('', views.home_page, name='home_page'),
     path('hackathon_register/',views.hackathon_register,name='hackathon_register'),
     path('events/',views.events,name='events')
]

views.py

def events(request):
    return render(request,'testapp/events.html',{})

【问题讨论】:

    标签: django


    【解决方案1】:

    从这里看来,您在项目 urls.py 中的代码是:

    .......
    
    urlpatterns = [
         ....
         path('events/', include("app.urls")),
    
    ]
    

    因此,请通过更改 project.urls 或 app.urls 来纠正此错误。

    【讨论】:

    • 不,那是我的应用程序的 urls.py
    • 项目一和你的一样。
    • 基本上当你输入一个 url 时,django 会在项目的 urls.py 中查找,它匹配 "events/" 并进一步 include() 将它带到 app.urls ,这里它再次匹配 "events/ ",并给它一个名称="events/"。因此 name = "events" 存储了localhost/events/events。因此,更改这些 urls.py 中的任何一个都会对您有好处。
    • 收到了吗?
    • 是的。我把它放在 /events 下,所以它作为 localhost/events 在 localhost 下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 2021-03-06
    • 2017-10-05
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 2010-10-17
    相关资源
    最近更新 更多