扩展模板的有效标记

问题描述 投票:0回答:1

我是Django的新手,希望获得有关模板继承的帮助。我想为当前活动页面设置“ class =“ active”,但是我该如何使用模板继承,因为它继承了所有页面,但是活动对象应该在更改当前活动页面时更改。我知道这个问题可能很愚蠢,但我仍然不知道答案。

我不知道该怎么办。

扩展html

  <ul class="navbar-nav mr-auto">
  <li class="nav-item mx-3">
    <a class="nav-link" {% if '/Homepage/' in request.path %} class ="active" {% endif %} href="{% url 'success' %}">Home <span class="sr-only">(current)</span></a>
  </li>
  <li class="nav-item mx-3">
    <a class="nav-link" {% if '/booking/' in request.path %} class ="active" {% endif %} href="{% url 'booking' %}">Make a Booking</a>
  </li>
  <li class="nav-item mx-3">
    <a class="nav-link" {% if '/Hsitory/' in request.path %} class ="active" {% endif %} href="{% url 'History' %}">History</a>
  </li>
  <li class="nav-item mx-3">
    <a class="nav-link" {% if '/pending/' in request.get_full_path %} class ="active" {% endif %} href="{% url 'pending' %}">Pending requests</a>
  </li>
</ul>

urls.py

urlpatterns = [
path('', views.loginpage, name="loginpage"),
path("failed/", views.failed, name="failed"),
path("Homepage/", views.success, name="success"),
path("loggedout/", views.loggedout, name="logout"),
path("booking/", views.booking, name="booking"),
path("pending/", views.pending, name="pending"),
path("History/", views.History, name="History"),
path("Register/", views.Register, name="Register"),
]

我希望活动类可能仅应用于当前活动页面。

django django-templates
1个回答
1
投票

您可以尝试这样。

<a class="nav-link" {% if '/Homepage/' in request.path %} class ="active" {% endif %} href="/Homepage/">Home <span class="sr-only">(current)</span></a>

也最好使用Django URL模板tag

编辑:我认为您提供的网址格式错误您也可以这样做

{% url 'homepage' as url %}
<a {% if request.path == url %} class="active"{% endif %} href="{{ url }}" >Homepage</a>
© www.soinside.com 2019 - 2024. All rights reserved.