[项目] 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})

[项目] server.urls.py(LOAMAW v1.0)

from django.conf.urls import url
from server.views import vserver_list, vserver_detail, vserver_register, vadmin_register, vserver_bind_admin

urlpatterns = [
     url(r'^server_register',vserver_register),
     url(r'^admin_register',vadmin_register),
     url(r'^server_bind_admin',vserver_bind_admin),
     url(r'^server_list',vserver_list),
     url(r'^server_detail',vserver_detail)
]