Python 无法从models.py获取菜单项的url
我为我的导航创建菜单项,但我可以从模型、DB图像(图标)、名称中获取所有内容,但当我想要获取URL时,什么都不会发生 我对菜单的看法Python 无法从models.py获取菜单项的url,python,django,python-3.x,django-3.0,Python,Django,Python 3.x,Django 3.0,我为我的导航创建菜单项,但我可以从模型、DB图像(图标)、名称中获取所有内容,但当我想要获取URL时,什么都不会发生 我对菜单的看法 def index(request): Post_list = BlogPost.objects.all()[:5] Slider_item = HomePageSlider.objects.all() menu_item = Menu.objects.all() template_name = 'front/index.html' return render(r
def index(request):
Post_list = BlogPost.objects.all()[:5]
Slider_item = HomePageSlider.objects.all()
menu_item = Menu.objects.all()
template_name = 'front/index.html'
return render(request, template_name, {"Post_list":Post_list,
"data_item":Slider_item,
"menu_item":menu_item,
})
我的模板HTML
{% for menu in menu_item %}
<li class="mobile-menu-item">
<a href="{{menu.0.Menu_url}}" class="mobile-menu-item-link">{{menu.Menu_name}}</a>
</li>
{% endfor %}
在您的模型中,您必须定义如下所示的内容才能在模板中调用它
def get_absolute_url(self):
return reverse("your_detail_view", kwargs={"pk": self.pk})
{{menu.get_absolute_url}}
并调用模板
def get_absolute_url(self):
return reverse("your_detail_view", kwargs={"pk": self.pk})
{{menu.get_absolute_url}}
或者直接调用url
{% url 'detail_view' pk=menu.pk %}
您需要做的唯一更改是在模板中,您不必执行menu.0,因为menu就是实例本身
{% for menu in menu_item %}
<li class="mobile-menu-item">
<a href="{{menu.Menu_url}}" class="mobile-menu-item-link">{{menu.Menu_name}}</a>
</li>
{% endfor %}
{%用于菜单项%}
{%endfor%}
我没有收到错误,只是我无法从URL数据库中获取charfield什么意思kwargs={“pk”:self.pk})此部件基于什么是“详细视图”?从列表视图中,您可以重定向到详细视图,该视图将显示每个单独的实例,如果不存在,您必须创建它