【发布时间】:2026-02-07 14:20:03
【问题描述】:
我的页面仅用于导航栏,并将其包含在基本页面中。现在我在导航栏中有一个菜单和从数据库中获取的链接(链接是我的类别)。
但是我如何在没有路径的视图中调用我的函数,因为我不需要导航栏的路径?我需要那个视图函数来从数据库中获取数据。
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> {{ category.category }} </div>
{% endfor %}
</li>
base.html
{% include "categories_bar.html" %}
【问题讨论】:
-
你的意思是在没有模板中的url的情况下调用
CategoryView? -
如果有其他方法,不完全调用
CategoryView,但主要目标是创建一个for循环来创建一个包含category = models.CharField中所有类别的导航栏。但是导航栏包含在base.html模板中,因此导航栏存在于所有网址中。 -
我认为在for循环中应该是
{{ category.category }} -
不错,我改了,还是没有结果。
标签: django templates view model navbar