Layui和Django实现后台布局

本文在介绍关于Layui和Django实现后台布局的基础上,重点探讨了其具体步骤,步骤简单易上手操作,文章内容步步紧凑,希望大家根据这篇文章可以有所收获。

成都创新互联公司从2013年开始,先为扶余等服务建站,扶余等地企业,进行企业商务咨询服务。为扶余企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

Layui后台布局:

一、后台布局之顶边栏

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

最终效果如下:

Layui和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侧边栏代码如下:

最终效果图

Layui和Django实现后台布局

上述就是小编为大家分享的Layui和Django实现后台布局的方法了,如果您也有类似的疑惑,不妨参照上述方法进行尝试。如果想了解更多相关内容,请关注创新互联行业资讯。


新闻名称:Layui和Django实现后台布局
浏览地址:http://cdiso.cn/article/gjjiho.html

其他资讯