Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
layuimini最簡潔、清爽、易用的layui后臺框架模板。它基于jquery3.4.1 和 layui2.5.4 實現。整套后臺大約有20個頁面,滿足常用的后臺管理,如果有基于jquery 的開箱即用的后臺項目,可以選型它,有能力的開發者可以利用現有的css和js,把底層庫和js邏輯重新實現,把它改成基于vue或者react的后臺模板。
github 地址:
https://github.com/zhongshaofa/layuimini
github star: 663+
最新版本:見github,MIT 協議
# 克隆項目到本地 git clone https://github.com/zhongshaofa/layuimini # 進入項目目錄 cd layuimini # 直接訪問html
也可以把項目放到本地服務器然后訪問
jango自帶的后臺管理是Django明顯特色之一,可以讓我們快速便捷管理數據。后臺管理可以在各個app的admin.py文件中進行控制。本文將主要介紹如何利用Admin后臺實現監控頁的定制,快來和小編一起學習一下吧
我們使用Django的Admin二次定制一個圖形化界面,首先我們把語言設置為中文簡體.
修改: settings.py
LANGUAGE_CODE='zh-hans'
TIME_ZONE='Asia/Shanghai'
修改: apps.py
from django.apps import AppConfig
class MywebConfig(AppConfig):
name='MyWeb'
verbose_name="服務器參數收集"
接著我們來定義models.py數據庫模型,定義基本的數據查詢.
from django.db import models
from django.utils.html import format_html
import datetime
STATUS_CHOICES=(('d', '在用設備'), ('p', '下線設備'), ('w', '損壞設備'),)
# 定義主機基本信息表
class HostInfoDB(models.Model):
id=models.AutoField(primary_key=True)
# HostAddr=models.TextField(max_length=128,verbose_name="主機地址")
HostAddr=models.CharField(max_length=128, verbose_name="主機地址")
HostName=models.CharField(max_length=128, verbose_name="主機名稱")
HostType=models.CharField(max_length=128, verbose_name="系統類型")
HostPosition=models.CharField(max_length=128, verbose_name="機房位置")
HostPlatform=models.CharField(max_length=128, verbose_name="所屬平臺")
HostGroup=models.CharField(max_length=128, verbose_name="分組")
HostDataTime=models.DateTimeField(verbose_name="檢查日期")
HostUser=models.CharField(max_length=64, verbose_name="負責人")
hostStats=models.CharField(max_length=1, choices=STATUS_CHOICES, verbose_name="設備狀態")
def __str__(self):
return self.HostName
# 用于給本表指定別名,這樣前端就不是英文的了
class Meta():
verbose_name="設備清單"
verbose_name_plural="設備清單"
# 設備再用狀態
def Status(self):
if self.hostStats=='d':
format_td=format_html('<span style="padding:2px;background-color:green;color:white">在用設備</span>')
elif self.hostStats=='p':
format_td=format_html('<span style="padding:2px;background-color:yellow;color:black">下線設備</span>')
elif self.hostStats=='w':
format_td=format_html('<span style="padding:2px;background-color:red;color:white">損壞設備</span>')
return format_td
Status.short_description="當前狀態"
# 指定Ping檢測結果表
class HostPingInfo(models.Model):
id=models.AutoField(primary_key=True)
HostAddr=models.CharField(max_length=128, verbose_name="主機地址")
flage=models.CharField(max_length=64)
class Meta():
verbose_name="存活檢測"
verbose_name_plural="存活檢測"
def Status(self):
if self.flage=="True":
ret="已連接"
color="green"
return format_html('<span style="color:{};">{}</span>',color,ret,)
elif self.flage=="False":
ret="未連接"
color="red"
return format_html('<span style="color:{};">{}</span>', color, ret,)
Status.short_description="狀態"
# 定義CPU/內存利用率數據表結構
class HostCPUOrMemInfo(models.Model):
id=models.AutoField(primary_key=True)
HostAddr=models.CharField(max_length=128, verbose_name="主機地址")
Cpu_Count=models.IntegerField()
Mem_Count=models.IntegerField()
class Meta():
verbose_name="CPU內存性能"
verbose_name_plural="CPU內存性能"
def Cpu_Speed(self):
return format_html('<progress max="100" value="{}"></progress>',self.Cpu_Count)
def Mem_Speed(self):
return format_html('<progress max="100" value="{}"></progress>',self.Mem_Count)
def Check(self):
return format_html('<a href="/admin/MyWeb/hostdb/{}/change/" rel="external nofollow" >查看</a>',self.id)
Cpu_Speed.short_description="CPU利用率"
Mem_Speed.short_description="Mem利用率"
繼續定制admin.py并與上方的數據庫視圖相交互.
from django.contrib import admin
from MyWeb.models import *
# 必須繼承ModelAdmin基類,才可以調整參數,HostDB則是你的表的名稱
@admin.register(HostInfoDB)
class MyAdmin(admin.ModelAdmin):
admin.site.site_title="后臺管理"
admin.site.site_header="自動化監控平臺"
# list_display=你需要展示的字段應該寫在這里,此處是數據庫中的字段
list_display=("HostAddr","HostName","HostType","HostPosition","HostDataTime","HostPlatform","HostGroup","HostUser","Status")
# search_fields=用于添加一個搜索框,此處作為查詢條件
#search_fields=("HostAddr","HostType","Status",)
# list_filter=設置一個過濾器,此處是過濾條件
list_filter=("HostAddr","HostGroup",)
# ordering=設置一個排序條件,此處是以id作為排序依據
ordering=("id",)
#list_per_page=設置每頁顯示多少條記錄,默認是100條
list_per_page=10
#list_editable=設置默認可編輯字段
#list_editable=("HostName",)
# date_hierarchy=顯示詳細時間分層篩選
date_hierarchy='HostDataTime'
# readonly_fields=可以設置只讀字段,就是無法修改的字段
#readonly_fields=("hostCPU","hostMEM",)
# 定義Ping檢測顯示字段
@admin.register(HostPingInfo)
class MyAdmin(admin.ModelAdmin):
list_display=("HostAddr","flage","Status")
# 定義內存CPU利用率字段
@admin.register(HostCPUOrMemInfo)
class MyAdmin(admin.ModelAdmin):
list_display=("id","HostAddr","Cpu_Count","Cpu_Speed","Mem_Count","Mem_Speed","Check")
保存后直接執行命令,完成命令行建表操作.
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
保存后啟動,Django并訪問http://127.0.0.1:8000/admin登錄后我們依次看一下定制效果.
主頁中的展示效果如下.
當我們需要增加自定義動作時,可以這樣寫,我們以HostCPUOrMemInfo為例
# 定義內存CPU利用率字段
@admin.register(HostCPUOrMemInfo)
class MyAdmin(admin.ModelAdmin):
list_display=("id","HostAddr","Cpu_Count","Cpu_Speed","Mem_Count","Mem_Speed")
# 添加的自定義動作,此處可執行操作
def func(self, request, queryset):
# 此處可以寫一些執行動作
print(self, request, queryset)
func.short_description="自定義active動作"
actions=[func, ]
# Action選項都是在頁面上方顯示
actions_on_top=True
# Action選項都是在頁面下方顯示
actions_on_bottom=False
# 是否顯示選擇個數
actions_selection_counter=True
以上就是基于Django的Admin后臺實現定制簡單監控頁的詳細內容
原文:https://www.jb51.net/article/231017.htm
天給大家推薦一款超不錯的CMS內容管理系統DoraCMS-Admin。
dora-cms 基于vue.js+eggjs+express+mongodb構建的一套后臺CMS管理系統,star高達2.8K+。結構簡單、易于拓展,非常適合進行二次開發。
{% header adaptor="default" %}
<!-- 模板靜態資源 -->
{% assets 'base.css index.css media.css swiper.min.css list.css swiper.min.js' %}
{% endassets %}
<!-- 二次開發靜態資源 -->
{% assets 'dora.front.js white.css' %}
{% endassets %}
{% endheader %}
{% recommend pageSize=3 %}
{% for item in recommend %}
<li><a href="{{item.url}}" target="_blank">{{item.stitle}}</a></li>
{% endfor %}
{% hottags pageSize=15 %}
{% for tagItem in hottags %}
<li><a href="{{tagItem.url}}">{{tagItem.name}}</a></li>
{% endfor %}
更多的模板調用這里不詳細介紹了,大家可以去查看下面的文檔。
https://www.doracms.com/frontend/showdata/
目前市面上有很多內容管理系統(如織夢CMS、帝國等),都是以php開發為主,而DoraCMS 則是基于nodejs,只要有一些前端開發基礎,很快就能上手。而且DoraCMS完全開源,你可以自由定制屬于自己的網站內容管理平臺。
end,附上項目地址鏈接。
# 文檔地址
https://www.doracms.com/
# 倉庫地址
https://github.com/doramart/DoraCMS/
好了,今天就分享到這里。如果感興趣可以去看看,希望對大家有所幫助哈!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。