Heim >Web-Frontend >Layui-Tutorial >Einführung in das Hintergrundlayout von Django + Layui
Layui-Hintergrundlayout:
1. Obere Seitenleiste des Hintergrundlayouts
<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" alt="Einführung in das Hintergrundlayout von Django + Layui" > {{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>
Die Zeile mit orangem Hintergrund im Code ist der aktuell übergebene Login an Django Der Benutzername des Benutzers.
Der endgültige Effekt ist wie folgt:
2. Seitenleiste des Hintergrundlayouts
Die Seitenleiste muss Knoten und Unter- Knoten. Daher müssen Sie zuerst das Modell der Knoten und Unterknoten in Django erstellen. Der Modellcode lautet wie folgt:
# 节点类 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
Der Django-URL-Code lautet wie folgt:
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})
Der HTML-Sidebar-Code lautet wie folgt:
urlpatterns = [ path('get-navigationProfile/',views.get_navigationProfile,name='get_navigationProfile'), ]
Endgültiges Rendering
Weitere Informationen Wenn Sie über Laui-Kenntnisse verfügen, beachten Sie bitte die Spalte
Tutorial zur Verwendung von LauiiDas obige ist der detaillierte Inhalt vonEinführung in das Hintergrundlayout von Django + Layui. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!