面包屑
面包屑设计
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 面包屑的模板渲染:
{# 面包屑配置 #}
{% for item in request.menu_breadcrumb %}
{% if forloop.first %}
<li><a href="{{ item.url }}"><i class="fa fa-dashboard"></i>{{ item.title }}</a></li>
{% elif forloop.last %}
<li><span>{{ item.title }}</span></li>
{% else %}
<li><a href="{{ item.url }}">{{ item.title }}</a></li>
{% endif %}
{% endfor %}
https://www.cnblogs.com/WiseAdministrator/