python day18 作業 Django 開發主機管理系統


Django 開發主機管理系統

思路是這樣的

 

思路: 1. 用SQLAlhemy 添加信息表和 用戶表 2. 登陸時獲取用戶的用戶名密碼、 去數據庫獲取數據,並取得數據,
         對比判斷。 3. 查看所有主機,首先判斷是否登陸。 如果登陸之后去數據庫for 循環拉取數據
      到頁面。顯示 4、 添加主機、  首先判斷是否登陸,登陸之后,彈出一個添加主機的對話框、
      判斷所有添加的信息不能為空。如果為空就提示,並且數據的格式要固定。才能添加進去。
      如果數據格式不正確。就用js 去判斷。並且在后端代碼中也進行判斷

SQL 代碼如下:

 

sql_main.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: liang
import sqlalchemy
from sqlalchemy import  create_engine
from sqlalchemy.ext.declarative import  declarative_base
from sqlalchemy import Column,String,Integer,DATE,CHAR,ForeignKey,VARCHAR
from sqlalchemy.orm import sessionmaker,relationship

# 數據庫連接
engine=create_engine("mysql+pymysql://用戶名:密碼x@www.o2oxy.cn/liang",
                     encoding="utf-8")

# ROM 基類
Base=declarative_base()


class UserHost(Base):
    __tablename__='user_host'
    id=Column(Integer,primary_key=True)  # id
    ip=Column(VARCHAR(255),nullable=False)  # ip
    port=Column(VARCHAR(255),nullable=False) # post
    user=Column(VARCHAR(255),nullable=False)     # 用戶
    password=Column(VARCHAR(255),nullable=False)  #密碼
    business=Column(VARCHAR(255),nullable=False)  # 業務線
    Asset_group=Column(VARCHAR(255),nullable=False)  #資產組
    Admin=Column(VARCHAR(255),nullable=False)   # 管理員
    def __repr__(self):
        return "<%s name:%s>" %(self.id,self.ip)

class AdminUser(Base):
    __tablename__='admin_user'
    id=Column(Integer,primary_key=True)  # id
    user=Column(String(32),nullable=False)  # 用戶名
    password=Column(String(32),nullable=False)  #密碼
    def __repr__(self):
        return "<%s name:%s>" %(self.id,self.user)
Base.metadata.create_all(engine)
View Code

sql_insert.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: liang

from cmdb import sql_mian
from sqlalchemy.orm import  sessionmaker


Session_class=sessionmaker(bind=sql_mian.engine)

Session=Session_class()
###創建
s2=sql_mian.UserHost(ip="192.168.10.1",port="3306",user="liang6",password="lioang",business="web",Asset_group="web",Admin="admin")
s3=sql_mian.UserHost(ip="192.168.10.2",port="3306",user="lian8",password="lioang",business="web",Asset_group="web",Admin="admin")
s4=sql_mian.UserHost(ip="192.168.10.3",port="3306",user="liang6",password="lioang",business="web",Asset_group="web",Admin="admin")
s5=sql_mian.UserHost(ip="192.168.10.4",port="3306",user="liang5",password="lioang",business="web",Asset_group="web",Admin="admin")
s6=sql_mian.UserHost(ip="192.168.10.5",port="3306",user="liang4",password="lioang",business="web",Asset_group="web",Admin="admin")
s7=sql_mian.UserHost(ip="192.168.10.6",port="3306",user="liang3",password="lioang",business="web",Asset_group="web",Admin="admin")
s8=sql_mian.UserHost(ip="192.168.10.7",port="3306",user="liang2",password="lioang",business="web",Asset_group="web",Admin="admin")

s9=sql_mian.AdminUser(user="admin",password="admin123456")
s10=sql_mian.AdminUser(user="admin",password="admin1234567899")
Session.add_all([s2,s3,s4,s5,s6,s7,s8,s9,s10])


# x=Session.query(sql_mian.UserHost).filter_by(id=8).first()
# 
# Session.delete(x)




Session.commit()
View Code

sql_api.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: liang

from cmdb import sql_mian
from sqlalchemy.orm import sessionmaker
import re

Session_class=sessionmaker(bind=sql_mian.engine)

Session=Session_class()




def AdminUser():
    obj = Session.query(sql_mian.AdminUser.user, sql_mian.AdminUser.password).all()

    return obj

def UserHost():
    obj = Session.query(sql_mian.UserHost.id, sql_mian.UserHost.ip,
                        sql_mian.UserHost.port, sql_mian.UserHost.user,
                        sql_mian.UserHost.password, sql_mian.UserHost.business,
                        sql_mian.UserHost.Asset_group, sql_mian.UserHost.Admin).all()
    return obj


def IsIP(str):
    p = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$')
    if p.match(str):
        return True
    else:
        return False

def IsPort(number):
        if number >0 and number<65535:
            return True
        else:
            return False

def LenGth(password,business,Asset_group,Admin):
    if len(password)<10 and len(business)<10 and len(Asset_group) and len(Admin):
        return True
    else:
        return False



def AddUserHost(ip,port,user,password,business,Asset_group,Admin):
    ip2=IsIP(str(ip))
    port2=int(port)
    port3=IsPort(port2)
    if ip2:
        if port3:
            if LenGth(password,business,Asset_group,Admin):
                s8=sql_mian.UserHost(ip=ip,port=port,user=user,password=password,business=business,Asset_group=Asset_group,Admin=Admin)
                Session.add_all([s8])
                Session.commit()
                return True
        return False
    return False


def DelUserHost(id):
    x = Session.query(sql_mian.UserHost).filter_by(id=id).first()
    if x:
        Session.delete(x)
        Session.commit()
        return True
    else:
        return False


Session.commit()
View Code

首先是登陸頁面

登陸成功之后呢

查看主機詳情

 

 

可以添加主機

 

刪除主機

源代碼如下:

http://www.o2oxy.cn/wp-content/uploads/2018/06/主機管理系統.zip


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM