我是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"),
]
我希望活动类可能仅应用于当前活动页面。
您可以尝试这样。
<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>