最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Django+Layui后台布局介绍

来源:动视网 责编:小采 时间:2020-11-03 18:21:28
文档

Django+Layui后台布局介绍

Django+Layui后台布局介绍:Layui后台布局:一、后台布局之顶边栏<div class="layui-header"> <div class="layui-logo">layui 后台布局</div> <!-- 头部区域(可配合layui已有的水平导航) --> <ul
推荐度:
导读Django+Layui后台布局介绍:Layui后台布局:一、后台布局之顶边栏<div class="layui-header"> <div class="layui-logo">layui 后台布局</div> <!-- 头部区域(可配合layui已有的水平导航) --> <ul


Layui后台布局:

一、后台布局之顶边栏

<div class="layui-header">
 <div class="layui-logo">layui 后台布局</div>
 <!-- 头部区域(可配合layui已有的水平导航) -->
 <ul class="layui-nav layui-layout-left">
 <li class="layui-nav-item"><a href="">控制台</a></li>
 <li class="layui-nav-item"><a href="">商品管理</a></li>
 <li class="layui-nav-item"><a href="">用户</a></li>
 <li class="layui-nav-item">
 <a href="javascript:;">其它系统</a>
 <dl class="layui-nav-child">
 <dd><a href="">邮件管理</a></dd>
 <dd><a href="">消息管理</a></dd>
 <dd><a href="">授权管理</a></dd>
 </dl>
 </li>
 </ul>
 <ul class="layui-nav layui-layout-right">
 <li class="layui-nav-item">
 <a href="javascript:;">
 <img src="http://t.cn/RCzsdCq" class="layui-nav-img">
 {{request.user.username}}
 </a>
 <dl class="layui-nav-child">
 <dd><a href="">基本资料</a></dd>
 <dd><a href="">安全设置</a></dd>
 </dl>
 </li>
 <li class="layui-nav-item"><a href="">退了</a></li>
 </ul>
 </div>

代码中橙色背景的一行为Django中传入的当前登录用户的用户名。

最终效果如下:

二、后台布局之侧边栏

侧边栏由于需要动态加载节点和子节点,所以需要先在Django中建立节点和子节点的model,model代码如下:

# 节点类
class NavigationProfile(models.Model):
 name=models.CharField(max_length=20,verbose_name='节点名称')
 url=models.CharField(max_length=50,verbose_name='链接地址')
 iconCls=models.CharField(max_length=50,verbose_name='图标icon')

 class Meta:
 verbose_name='节点名称'
 verbose_name_plural=verbose_name

 def __str__(self):
 return self.name

# 子节点类
class NavigationSubProfile(models.Model):
 name=models.CharField(max_length=20,verbose_name='子节点名称')
 url=models.CharField(max_length=50,verbose_name='链接地址')
 iconCls=models.CharField(max_length=50,verbose_name='图标icon')
 parent=models.ForeignKey(NavigationProfile,on_delete=models.CASCADE,verbose_name='父节点')

 class Meta:
 verbose_name='子节点名称'
 verbose_name_plural=verbose_name

 def __str__(self):
 return self.name

在Django views中代码如下:

def open_index(request):
 if request.user.is_authenticated == False:
 return HttpResponseRedirect('/account/login/')
 else:
 navigation = NavigationProfile.objects.all()
 dict = []

 for nav in navigation:
 dic = {}
 id = nav.id
 dic['id'] = nav.id
 dic['text'] = nav.name
 dic['url'] = nav.url
 dic['iconCls'] = nav.iconCls
 dic['nid'] = 0
 sub_navigation = NavigationSubProfile.objects.filter(parent_id=id)

 sub_dict = []
 for sub_nav in sub_navigation:
 sub_dic = {}
 sub_dic['id'] = sub_nav.id
 sub_dic['text'] = sub_nav.name
 sub_dic['url'] = sub_nav.url
 sub_dic['iconCls'] = sub_nav.iconCls
 sub_dic['nid'] = sub_nav.parent_id
 sub_dict.append(sub_dic)

 dic["children"] = sub_dict
 dict.append(dic)30 return render(request,'index.html',{'dict':dict})

Django urls代码如下:

 urlpatterns = [
 path('get-navigationProfile/',views.get_navigationProfile,name='get_navigationProfile'),
 ]

Html侧边栏代码如下:

<div class="layui-side layui-bg-black">
 <div class="layui-side-scroll">
 <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
 <ul class="layui-nav layui-nav-tree" lay-filter="test">

 {% for dic in dict %}
 <li class="layui-nav-item">
 <a class="" href="javascript:;">{{ dic.text }}</a>
 <dl class="layui-nav-child">
 {% for child in dic.children %}
 <dd><a href="javascript:;" data-id="{{ child.id }}"
 data-url="{{ child.url }}">{{ child.text }}</a></dd>
 {% endfor %}

 </dl>
 </li>
 {% endfor %}

 </ul>
 </div>
 </div>

最终效果图

更多layui知识请关注layui使用教程栏目。

文档

Django+Layui后台布局介绍

Django+Layui后台布局介绍:Layui后台布局:一、后台布局之顶边栏<div class="layui-header"> <div class="layui-logo">layui 后台布局</div> <!-- 头部区域(可配合layui已有的水平导航) --> <ul
推荐度:
标签: 后台 布局 Django
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top