<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>detail</title>
</head>
<body>
<table>
<tr>
<td>
{% for servers in tserver %}
<form action="/server/server_detail/?server_name={{ servers.server_name }}" method="POST">
{% csrf_token %}
<select name="trefresh">
<option value="single thread">refresh option: now(single thread)</option>
<option value="multi thread">refresh option: delay(multi thread)</option>
<input type='submit' value="refresh">
</select>
</form>
{% endfor %}
<td>
<form action="/server/server_list">
<input type="submit" value="return"/>
</form>
</td>
<td>
</tr>
</table>
<table border="1" cellspacing="0" width="550px">
<tr>
<th>Code</th>
<th>Server Name</th>
<th>Server Main_IP</th>
<th>Server Status</th>
</tr>
{% for servers in tserver %}
<tr>
<td>{{ forloop.counter }}</td>
<td>{{ servers.server_name }}</td>
<td>{{ servers.server_main_ip }}</td>
<td>{{ servers.server_status }}</td>
<tr>
{% endfor %}
</table>
<br/>
<table border="1" cellspacing="0" width="550px">
<tr>
<th>OS Distributor</th>
<th>OS Release</th>
<th>OS Kernel</th>
<th>OS Uptime</th>
<th>OS Status</th>
</tr>
{% for oss in tos %}
<tr>
<td>{{ oss.os_distributor }}</td>
<td>{{ oss.os_release }}</td>
<td>{{ oss.os_kernel }}</td>
<td>{{ oss.os_uptime }}</td>
<td>{{ oss.os_status }}</td>
</tr>
{% endfor %}
</table>
<br/>
<table border="1" cellspacing="0" width="550px">
<tr>
<th>CPU QTY</th>
<th>CPU Core</th>
<th>CPU Usage</th>
<th>CPU Idleness</th>
<th>CPU Status</th>
</tr>
{% for cpus in tcpu %}
<tr>
<td>{{ cpus.cpu_qty }}</td>
<td>{{ cpus.cpu_core }}</td>
<td>{{ cpus.cpu_usage }}%</td>
<td>{{ cpus.cpu_idleness }}%</td>
<td>{{ cpus.cpu_status }}</td>
</tr>
{% endfor %}
</table>
<br/>
<table border="1" cellspacing="0" width="550px">
<tr>
<th>Mem Size</th>
<th>Mem Usage</th>
<th>Mem Idleness</th>
<th>Mem Status</th>
</tr>
{% for mems in tmem %}
<tr>
<td>{{ mems.mem_size }}K</td>
<td>{{ mems.mem_usage }}K</td>
<td>{{ mems.mem_idleness }}K</td>
<td>{{ mems.mem_status }}</td>
</tr>
{% endfor %}
</table>
<br/>
<table border="1" cellspacing="0" width="550px">
<tr>
<th>Space Name</th>
<th>Space Size</th>
<th>Space Usage</th>
<th>Space Idleness</th>
<th>Space Mount</th>
<th>Space Status</th>
</tr>
{% for spaces in tspace %}
<tr>
<td>{{ spaces.space_name }}</td>
<td>{{ spaces.space_size }}K</td>
<td>{{ spaces.space_usage }}K</td>
<td>{{ spaces.space_idleness }}K</td>
<td>{{ spaces.space_mount }}</td>
<td>{{ spaces.space_status }}</td>
</tr>
{% endfor %}
</table>
<br/>
<table border="1" cellspacing="0" width="550px">
<tr>
<th>NC Name</th>
<th>NC IP</th>
<th>NC Status</th>
</tr>
{% for ncs in tnc %}
<tr>
<td>{{ ncs.nc_name }}</td>
<td>{{ ncs.nc_ip }}</td>
<td>{{ ncs.nc_status }}</td>
</tr>
{% endfor %}
</table>
<br/>
<table border="1" cellspacing="0" width="550px">
<tr>
<th>Admin Name</th>
<th>Admin GID</th>
<th>Admin Email</th>
<th>Admin Phone</th>
<th>Admin Status</th>
</tr>
{% for admins in tsdadmin %}
<tr>
<td>{{ admins.admin_name }}</td>
<td>{{ admins.admin_gid }}</td>
<td>{{ admins.admin_email }}</td>
<td>{{ admins.admin_phone }}</td>
<td>{{ admins.admin_status }}</td>
<tr>
{% endfor %}
</table>
</body>
</html>
[项目] server.templates.server_bind_admin.html(LOAMAW v1.0)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>server_bind_admin</title>
</head>
<body>
<table>
<form action="/server/server_bind_admin/" method="POST">
{% csrf_token %}
<tr>
<label>server_name:</label><input type="text" name="server_bind_name"/>
</tr>
</br>
<tr>
<label>admin_name:</label><input type="text" name="admin_bind_name"/>
</tr>
</br>
<tr>
<td>
<input type="submit" value="bind"/>
</td>
</form>
<td>
<form action="/server/server_list">
<input type="submit" value="return"/>
</form>
</td>
</tr>
</table>
</body>
</html>
[项目] server.templates.fail.html(LOAMAW v1.0)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>fail</title>
</head>
<body>
<p>fail</p>
<table>
<tr>
<td>
<form action="/server/server_list">
<input type="submit" value="return"/>
</form>
</td>
</tr>
</table>
</body>
</html>
[项目] server.templates.admin_register.html(LOAMAW v1.0)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>admin_register</title>
</head>
<body>
<table>
<form action="/server/admin_register/" method="POST">
{% csrf_token %}
<tr>
<label>admin_name:</label><input type="text" name="tadmin_name"/>
</tr>
</br>
<tr>
<label>admin_gid:</label><input type="text" name="tadmin_gid"/>
</tr>
</br>
<tr>
<label>admin_email:</label><input type="text" name="tadmin_email"/>
</tr>
<br/>
<tr>
<label>admin_phone:</label><input type="text" name="tadmin_phone"/>
</tr>
</br>
<tr>
<label>admin_level:</label><input type="text" name="tadmin_level"/>
</tr>
</br>
<tr>
<td>
<input type="submit" value="regsiter"/>
</td>
</form>
<td>
<form action="/server/server_list">
<input type="submit" value="return"/>
</form>
</td>
</tr>
</body>
</html>
[项目] server.views.py(LOAMAW v1.0)
from time import sleep
from django.shortcuts import render
from .models import *
from django.http import HttpResponse
# Create your views here.
def vserver_register(request):
if request.method == 'GET':
return render(request,'server_register.html')
else:
vserver_name = request.POST.get('tserver_name','')
vserver_main_ip = request.POST.get('tserver_main_ip','')
vnewserver = server_register(vserver_name,vserver_main_ip)
if vnewserver:
return render(request,'success.html')
return render(request,'fail.html')
def vadmin_register(request):
if request.method == 'GET':
return render(request,'admin_register.html')
else:
vadmin_name = request.POST.get('tadmin_name','')
vadmin_gid = request.POST.get('tadmin_gid','')
vadmin_email = request.POST.get('tadmin_email','')
vadmin_phone = request.POST.get('tadmin_phone','')
vadmin_level = request.POST.get('tadmin_level','')
vnewadmin = admin_register(vadmin_name,vadmin_gid,vadmin_email,vadmin_phone,vadmin_level)
if vnewadmin:
return render(request,'success.html')
return render(request,'fail.html')
def vserver_bind_admin(request):
if request.method == 'GET':
return render(request,'server_bind_admin.html')
else:
vserver_bind = request.POST.get('server_bind_name','')
vadmin_bind = request.POST.get('admin_bind_name','')
dbind(vserver_bind,vadmin_bind)
vnewbind = server.objects.filter(server_name = vserver_bind).filter(admin__admin_name = vadmin_bind)
if vnewbind:
return render(request,'success.html')
return render(request,'fail.html')
def vserver_list(request):
vserver_name_choice = request.POST.getlist('tserver_name_choice','')
if vserver_name_choice != '':
for vserver_name_choices in vserver_name_choice:
os_check_thread = threading.Thread(target=os_check_all, args=[vserver_name_choices])
cpu_check_thread = threading.Thread(target=cpu_check_all, args=[vserver_name_choices])
mem_check_thread = threading.Thread(target=mem_check_all, args=[vserver_name_choices])
space_check_thread = threading.Thread(target=space_check_all, args=[vserver_name_choices])
nc_check_thread = threading.Thread(target=nc_check_all, args=[vserver_name_choices])
os_check_thread.start()
cpu_check_thread.start()
mem_check_thread.start()
space_check_thread.start()
nc_check_thread.start()
os_check_thread.join()
cpu_check_thread.join()
mem_check_thread.join()
space_check_thread.join()
nc_check_thread.join()
for vserver_name_choices in vserver_name_choice:
server_change_status(vserver_name_choices)
vserver_all = server.objects.all()
return render(request,'server_list.html',{'tserver_all':vserver_all})
import threading
def vserver_detail(request):
vsdmserver = request.GET.get('server_name','')
vrefresh = request.POST.get('trefresh','')
if vrefresh == 'single thread':
os_check_all(vsdmserver)
cpu_check_all(vsdmserver)
mem_check_all(vsdmserver)
space_check_all(vsdmserver)
nc_check_all(vsdmserver)
server_change_status(vsdmserver)
if vrefresh == 'multi thread':
os_check_thread = threading.Thread(target=os_check_all, args=[vsdmserver])
cpu_check_thread = threading.Thread(target=cpu_check_all, args=[vsdmserver])
mem_check_thread = threading.Thread(target=mem_check_all, args=[vsdmserver])
space_check_thread = threading.Thread(target=space_check_all, args=[vsdmserver])
nc_check_thread = threading.Thread(target=nc_check_all, args=[vsdmserver])
os_check_thread.start()
cpu_check_thread.start()
mem_check_thread.start()
space_check_thread.start()
nc_check_thread.start()
os_check_thread.join()
cpu_check_thread.join()
mem_check_thread.join()
space_check_thread.join()
nc_check_thread.join()
server_change_status(vsdmserver)
vsdserver = server.objects.filter(server_name = vsdmserver)
vsdos = server.objects.get(server_name = vsdmserver).os_set.all()
vsdcpu = server.objects.get(server_name = vsdmserver).cpu_set.all()
vsdmem = server.objects.get(server_name = vsdmserver).mem_set.all()
vsdspace = server.objects.get(server_name = vsdmserver).space_set.all()
vsdnc = server.objects.get(server_name = vsdmserver).nc_set.all()
vsdadmin = server.objects.get(server_name = vsdmserver).admin_set.all()
return render(request,'server_detail.html',{'tserver':vsdserver,'tos':vsdos,'tcpu':vsdcpu,'tmem':vsdmem,'tspace':vsdspace,'tnc':vsdnc,'tsdadmin':vsdadmin})