,可以通过以下步骤实现:
from django.shortcuts import render
from .models import MenuItem
def get_menu_items(request):
menu_items = MenuItem.objects.all()
return render(request, 'menu.html', {'menu_items': menu_items})
from django.db import models
class MenuItem(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
<div id="accordion">
{% for item in menu_items %}
<div class="card">
<div class="card-header" id="heading{{ item.id }}">
<h5 class="mb-0">
<button class="btn btn-link" data-toggle="collapse" data-target="#collapse{{ item.id }}" aria-expanded="true" aria-controls="collapse{{ item.id }}">
{{ item.title }}
</button>
</h5>
</div>
<div id="collapse{{ item.id }}" class="collapse" aria-labelledby="heading{{ item.id }}" data-parent="#accordion">
<div class="card-body">
{{ item.content }}
</div>
</div>
</div>
{% endfor %}
</div>
在这个例子中,我们假设已经在数据库中创建了一个名为MenuItem的表,其中包含了title和content两个字段,分别表示菜单项的标题和内容。
通过在view.py中的get_menu_items函数中使用MenuItem.objects.all(),我们可以获取到数据库中所有的菜单项数据。然后,将这些数据传递给menu.html模板文件进行渲染。
在menu.html模板文件中,我们使用了Bootstrap的accordion组件来展示菜单项数据。通过使用{% for item in menu_items %}和{% endfor %}语法,我们可以遍历所有的菜单项数据,并将其动态地渲染到页面上。
需要注意的是,这只是一个简单的示例,实际应用中可能需要根据具体需求进行适当的修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云