我有一个带有一些按钮的btn-group
,每个按钮都将指向不同的页面。 btn-group
将在每一页上可见。
这里是btn-group
的html,
<div class="btn-group-lg text-center" role="group" aria-label="Basic example">
<a class="btn btn-outline-primary" href="" role="button">Home</a>
<a class="btn btn-outline-primary" href="view_schedule/" role="button">Schedule</a>
<a class="btn btn-outline-primary" href="view_syllabus/" role="button">Syllabus</a>
<a class="btn btn-outline-primary" href="view_records/" role="button">Records</a>
<a class="btn btn-outline-primary" href="view_achievements/" role="button">Achievements</a>
<a class="btn btn-outline-primary" href="view_gallery/" role="button">Gallery</a>
<a class="btn btn-outline-primary" href="view_contact/" role="button">Contact</a>
<a class="btn btn-outline-primary" href="about/" role="button">About Us</a>
</div>
但是每当我按下按钮时,它都会修改地址栏中的URL。示例:-从http://127.0.0.1:8000/shotokankaratebd/,如果我按下“排定”按钮,它将URL更改为http://127.0.0.1:8000/shotokankaratebd/view_schedule。
此后,如果我再次按下计划按钮,它将其更改为http://127.0.0.1:8000/shotokankaratebd/view_schedule/view_schedule,这是一个无效的URL,并且我得到一个错误。
如何编写它,以便每当按下按钮时,仅影响http://127.0.0.1:8000/shotokankaratebd/之后的部分?
已编辑,包括新的href:
<a class="btn btn-outline-primary" href="../shotokankaratebd/" role="button">Home</a>
<a class="btn btn-outline-primary" href="../shotokankaratebd/view_schedule/" role="button">Schedule</a>
<a class="btn btn-outline-primary" href="../shotokankaratebd/view_syllabus/" role="button">Syllabus</a>
<a class="btn btn-outline-primary" href="../shotokankaratebd/view_records/" role="button">Records</a>
<a class="btn btn-outline-primary" href="../shotokankaratebd/view_achievements/" role="button">Achievements</a>
<a class="btn btn-outline-primary" href="../shotokankaratebd/view_gallery/" role="button">Gallery</a>
<a class="btn btn-outline-primary" href="../shotokankaratebd/view_contact/" role="button">Contact</a>
<a class="btn btn-outline-primary" href="../shotokankaratebd/about/" role="button">About Us</a>
您不应该对网址进行硬编码。使用django's url template tag来获取您的视图的网址。
如果您的URL指向另一个视图或另一个应用程序的视图,则应使用使用动态URL的django功能。
例如,如果您有视图view_schedule
,则应在urls.py中为其命名,例如
urlpatterns = [
...
path('shotokankaratebd/view_schedule/', views.name_of_your_view, name=view_schedule),
...
]
以及任何时候和任何模板,如果要访问此视图,都可以键入
template.html
<a href="{% url 'view_schedule' %}"><button>Schedule</button></a>
而不是
class="btn btn-outline-primary" href="/shotokankaratebd/view_schedule/" role="button">Schedule</a>
像这样硬编码。
已解决。我所需要做的就是以/开头我的hrefs,它将在每次单击按钮后将URL重置为http://127.0.0.1:8000/。
HTML按钮如下:
<div class="btn-group-lg text-center" role="group" aria-label="Basic example">
<a class="btn btn-outline-primary" href="/shotokankaratebd/" role="button">Home</a>
<a class="btn btn-outline-primary" href="/shotokankaratebd/view_schedule/" role="button">Schedule</a>
<a class="btn btn-outline-primary" href="/shotokankaratebd/view_syllabus/" role="button">Syllabus</a>
<a class="btn btn-outline-primary" href="/shotokankaratebd/view_records/" role="button">Records</a>
<a class="btn btn-outline-primary" href="/shotokankaratebd/view_achievements/" role="button">Achievements</a>
<a class="btn btn-outline-primary" href="/shotokankaratebd/view_gallery/" role="button">Gallery</a>
<a class="btn btn-outline-primary" href="/shotokankaratebd/view_contact/" role="button">Contact</a>
<a class="btn btn-outline-primary" href="/shotokankaratebd/about/" role="button">About Us</a>
</div>