基于python的作业管理系统_python day18 作业 Django 开发主机管理系统

思路是这样的

思路: 1. 用SQLAlhemy 添加信息表和 用户表 2. 登陆时获取用户的用户名密码、 去数据库获取数据,并取得数据,

对比判断。 3. 查看所有主机,首先判断是否登陆。 如果登陆之后去数据库for 循环拉取数据

到页面。显示 4、 添加主机、 首先判断是否登陆,登陆之后,弹出一个添加主机的对话框、

判断所有添加的信息不能为空。如果为空就提示,并且数据的格式要固定。才能添加进去。

如果数据格式不正确。就用js 去判断。并且在后端代码中也进行判断

SQL 代码如下:

sql_main.py

#!/usr/bin/env python

#-*- coding:utf-8 -*-# Author: liang

import sqlalchemyfromsqlalchemy import create_enginefromsqlalchemy.ext.declarative import declarative_basefromsqlalchemy import Column,String,Integer,DATE,CHAR,ForeignKey,VARCHARfromsqlalchemy.orm import sessionmaker,relationship

# 数据库连接

engine=create_engine("mysql+pymysql://用户名:密码x@www.o2oxy.cn/liang",

encoding="utf-8")

# ROM 基类

Base=declarative_base()classUserHost(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 "" %(self.id,self.ip)classAdminUser(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 "" %(self.id,self.user)

Base.metadata.create_all(engine)

View Code

sql_insert.py

#!/usr/bin/env python

#-*- coding:utf-8 -*-# Author: liangfromcmdb import sql_mianfromsqlalchemy.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: liangfromcmdb import sql_mianfromsqlalchemy.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()returnobj

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()returnobj

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?)$')ifp.match(str):returnTrueelse:returnFalse

def IsPort(number):if number >0 and number<65535:returnTrueelse:returnFalse

def LenGth(password,business,Asset_group,Admin):if len(password)<10 and len(business)<10and len(Asset_group) and len(Admin):returnTrueelse:returnFalse

def AddUserHost(ip,port,user,password,business,Asset_group,Admin):

ip2=IsIP(str(ip))

port2=int(port)

port3=IsPort(port2)ifip2:ifport3:ifLenGth(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()returnTruereturnFalsereturnFalse

def DelUserHost(id):

x= Session.query(sql_mian.UserHost).filter_by(id=id).first()ifx:

Session.delete(x)

Session.commit()returnTrueelse:returnFalse

Session.commit()

View Code

首先是登陆页面

登陆成功之后呢

查看主机详情

可以添加主机

删除主机

源代码如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值