Django Conditional to remove css class if not on main url

Question:

Im wondering if someone could help me figure this out;
Working on a web app using the django framework and for my navbar, I have a css class that makes it transparent on the main page. This of course worked on a static website, but does not in django. How can i write an if statement to only apply this class on a specific url – the home page?

{% load static %}
<header id="home">
    <!-- Navbar -->
    <nav id="navbar" class="main-page">
        <a href="{% url 'home' %}"><img src="{% static 'images/farmec-logo-2.png' %}" alt="" id="logo"></a>
        <ul>
            <li><a href="{% url 'home' %}" class="current">Home</a></li>
            <li><a href="{% url 'teams' %}">About</a></li>
            <li><a href="blog.html">Blog</a></li>
            <li><a href="suppliers.html">Suppliers</a></li>
            <li><a href="parts.html">Spare Parts</a></li>
        </ul>
    </nav>
</header>
#navbar {
    display: flex;
    justify-content: space-between;
    padding-top: 1rem;
    position: absolute;
    background: transparent;
    width: 100vw;
    z-index: 1;
    background: var(--dark-color);
    transition: 0.5s ease-in;
}

#navbar.main-page {
    background: transparent;
}
Asked By: seanwelch

||

Answers:

In Django, you can check active URL like this…

I put code for if the home URL is active and then applied id="navbar" else not.

{% load static %}
<header id="home">
    <!-- Navbar -->
    <nav {% if request.resolver_match.url_name == 'home' %}id="navbar"{% endif %}  class="main-page">
        <a href="{% url 'home' %}"><img src="{% static 'images/farmec-logo-2.png' %}" alt="" id="logo"></a>
        <ul>
            <li><a href="{% url 'home' %}" class="current">Home</a></li>
            <li><a href="{% url 'teams' %}">About</a></li>
            <li><a href="blog.html">Blog</a></li>
            <li><a href="suppliers.html">Suppliers</a></li>
            <li><a href="parts.html">Spare Parts</a></li>
        </ul>
    </nav>
</header>