Problem with redirecting in a Django HTML file

Issue

I am building a personal website and I am getting an error whenever I click on the the redirect link and I am quite puzzled how to proceed.

I am also including my url.py, views.py and navbar.html files (HTML file where the redirect code is) code:

File views.py

def product(request):
    return render(request = request,
                  template_name = "main/categories.html",
                  context ={"categories": ItemCategory.objects.all})

def homepage(request):
    return render(request = request,
                  template_name = "main/categories.html",
                  context ={"categories": ItemCategory.objects.all})

def about(request):
    return render(request = request,
                  template_name = "main/about.html",
                  context ={"categories": ItemCategory.objects.all})

def contact(request):
    return render(request = request,
                  template_name = "main/contact.html",
                  context ={"categories": ItemCategory.objects.all})

File url.py

from django.urls import path
from . import views
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

app_name = "main"

urlpatterns = [
    path("", views.homepage, name="homepage"),
    path("product/", views.product, name="product"),
    path("about/", views.about, name="about"),
    path("contact/", views.contact, name="contact"),
    path("register/", views.register, name = "register"),
    path("logout/", views.logout_request, name = "logout"),
    path("login/", views.login_request, name = "login"),
    path("<single_slug>", views.single_slug, name="single_slug"),
]


urlpatterns += staticfiles_urlpatterns()

File navbar.html

<nav>
  <div id="nav-wrapper">

    <div>
      <ul class="center hide-on-med-and-down">
        <li>
          <a href="{% url 'homepage' %}">Home</a>
        </li>
        <li>
          <a href="about/">About Us</a>
        </li>
        <li>
          <a href="product/">Products</a>
        </li>
        <li>
          <a href="services/">Services</a>
        </li>
        <li>
          <a href="contact/">Contact</a>
        </li>
        <li>
          <a class='dropdown-trigger btn' href='#' data-target='dropdown1'>Drop Me!</a>
        </li>
      </ul>
    </div>
  </div>
</nav>

How can I fix it?

Solution

You used app_name='main' in your urls.py. So your anchor should be href="{% url 'main:homepage' %}"

Answered By – Nduati

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published