当我发送
menus = Menu.objects.all()
通过渲染
render(request, 'index.html', {'menus': menus})
它没有给我看任何东西,只是一页空白 但其他变量如
info = Info.objects.last()
工作正常
''这里有些代码''
def home(request):
slides = Slide.objects.order_by('created')[:3]
main_articles = MainArticle.objects.order_by('created')[:5]
last_news = News.objects.all()[:4]
info = OtherInfo.objects.last()
promo = Promo.objects.last()
menus = Menu.objects.all()
return render(request, 'index.html', {'slides': slides,
'main_articles': main_articles,
'last_news': last_news,
'info': info,
'promo': promo,
'menus': menus
})
class Menu(models.Model):
name = models.CharField(max_length=100)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.name
class Meta:
ordering = ('created',)
class SubMenu(models.Model):
menu = models.ForeignKey(Menu, related_name='sub_menu')
name = models.CharField(max_length=100)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return '{} -> {}'.format(self.menu, self.name)
class Meta:
ordering = ('created',)
“这里有其他的模特”
{% extends 'base.html' %}
{% block nav_bar %}
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
{% for m in menus.all %}
{% if m.sub_menu %}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ m.name }}<span class="caret"></span></a>
<ul class="dropdown-menu">
{% for sub in m.sub_menu.all %}
<li><a href="{% url 'info-ms' menu=m.name submenu=sub.name %}">{{ sub.name }}</a></li>
{% endfor %}
</ul>
</li>
{% else %}
<li>
<a href="{% url 'info-m' menu=m.name %}">{{ m.name }}</a>
</li>
{% endif %}
{% endfor %}
</ul>
</div><!-- /.navbar-collapse -->
{% endblock %}
如果通过:
您可以在模板中使用:
您已经在视图中调用了
.all()
。你知道吗相关问题 更多 >
编程相关推荐