面包屑

面包屑设计

  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 %}

 

posted @ 2019-06-24 18:33  Amorphous  阅读(599)  评论(0编辑  收藏  举报