Включена функция представления Django для навигационной панели

У меня есть страница только для панели навигации и я включил ее в базовую страницу. Теперь у меня есть меню в этой навигационной панели и ссылки, которые я получаю из базы данных (эти ссылки - мои категории).

Но как я могу вызвать свою функцию в представлении без пути, потому что мне не нужен путь для панели навигации? И мне нужно, чтобы функция представления получала данные из базы данных.

models.py

class Item(models.Model):
title = models.CharField(max_length=100)
price = models.FloatField()
discount_price = models.FloatField(blank=True, null=True)
category = models.CharField(choices=CATEGORY_CHOICES, max_length=2)
label = models.CharField(choices=LABEL_CHOICES, max_length=1)
slug = models.SlugField()
description = models.TextField()
info = models.TextField(default="Informacion a Completar")
image = models.ImageField(blank=True)

views.py

def CategoryView(request):
context = {
    'items' : Item.objects.all()
} 

return render(request, 'categories_bar.html', context=context)

categories_bar.html

<li class="nav-item"></li>
  {% for category in items %}
  <div> {{ items.category }} </div>
  {% endfor %}
 </li>

base.html

{% include "categories_bar.html" %}

Вы можете использовать блочные теги следующим образом:

base.html:

<nav>
  <ul>
  {% block categories %}{% endblock %}
  </ul>
</nav>
<!-- replace navbar code with yours -->

categories_bar.html:

{% block categories %}
   {% for category in items %}
     <li class="nav-item"></li>
        <div> {{ category.category }} </div>
     </li>
   {% endfor %}
{% endblock %}
Вернуться на верх