面包屑设计
1.1 面包屑通过一个列表存放字典数据的结构设计:
在把数据结构放入request中封装在前端调用:
# 数据机构
# 首页展示
request.menu_breadcrumb = [
# {
# "title": "首页",
# "url": "/home/",}
]
# 二级面包屑数据结构
# 设置通过验证后的操作的面包屑
if item["pid"] == item["pk"]:
request.menu_breadcrumb.append({
"title": item.get("title", None),
"url": request.path,
})
else:
obj = models.Permission.objects.filter(pk=item.get("pid", None)).first()
if obj:
l1 = [
{"title": obj.title, "url": obj.url},
{"title": item.get("title", None), "url": request.path}
]
request.menu_breadcrumb.extend(l1)
1.2 面包屑的模板渲染:
{# 面包屑配置 #}
{% endif %}
{% endfor %}