思路是这样的

思路: 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

首先是登陆页面

登陆成功之后呢

查看主机详情

可以添加主机

删除主机

源代码如下:

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

  1. python django图书管理系统_Python框架:Django写图书管理系统(LMS)

    Django模版文件配置 文件路径 test_site -- test_site -- settings.py TEMPLATES = [ { 'BACKEND': 'django.template. ...

  2. 用python设计学生管理系统_基于python和tkinter实现的一个简单的学生信息管理系统...

    一个简单的学生信息管理系统基于python和tkinter 1.需求分析1.大学生信息管理系统使用tkinter接口创建一个窗口.使界面更漂亮.2. 实现与数据库的连接,教师和学生的信息可以保存或读取 ...

  3. 基于python的接口录制平台的设计与开发

    背景: 要写论文,我选择的题目是"基于python的应用研究与开发",我打算把公司的hrun-接口录制平台,从设计,到技术分析,到代码实现,进行系统的总结下. (继续完善中...) ...

  4. py233基于 python的诚交大学生二手交易平台Django#毕业设计

    开发环境 项目编号:py233基于 python的诚交大学生二手交易平台Django#毕业设计 开发语言:Python python框架:django 软件版本:python3.7/python3.8 ...

  5. 基于python和MySQL数据库开发应用程序:学生信息成绩管理系统1.0版本

    目录: 前言 一,需求分析 二,前期准备 三,编写代码 1.app.py 2.__init__.py 3.models.py 四,功能描述 1.界面展示 2.系统流程图介绍 3.功能介绍 系统优缺点 ...

  6. python制作学生管理系统_Python——面向对象,简易学生信息管理系统

    一.概述 1.1涉及到的知识点 项目开发:创建项目,创建包,导入包: 面向对象:静态方法,继承,内置函数,自定义函数: 数据类型:列表,字典,字符串.列表.字典的转换和自动生成导向: 异常处理:捕获异 ...

  7. 基于python的聊天室_Python实现文字聊天室

    你是否想过用所学的Python开发一个图形界面的聊天室程序啊? 像这样的: image 如果你想开发这样一个有点怀旧风格的聊天程序,那么可以接着看: 要开发这个聊天程序,你需要具备以下知识点: asy ...

  8. 如何做一个基于python校园网站系统毕业设计毕设作品(Django框架)

    分析架构 我们开发系统,常规有两个架构,一个BS架构(浏览器/服务器模式),一个CS(客户端/服务器端模式):基于Python(Django框架)的网站开发属于B/S架构(即浏览器和服务器架构模式), ...

  9. arcgis中python批处理_基于Python的ArcGIS空间数据格式批处理转换工具开发

    基于 Python 的 ArcGIS 空间数据格式批处理转换工具开 发 焦 洋,邓 鑫,李胜才 [摘 要] 摘 要 ArcGIS 仅提供了单个文件的空间数据格式转换工具.本文首先 研究基于 Pytho ...

最新文章

  1. 数据结构:关于重建二叉树的三种思路
  2. 谈谈战双的战斗机制设计趋同
  3. 8个神奇的网页动态流体布局及其做法揭秘
  4. 点击按钮显示div并向div中传递参数
  5. feiq肆无忌惮欺压同行
  6. 在线涂鸦画板小程序源码
  7. HighGUI参考手册
  8. Impala之加载HBase数据
  9. Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别
  10. mysql随机取5条数据_【转】mysql实现随机获取几条数据的方法
  11. 管理数据,应用程序和主机安全-A
  12. html设计网页板块,网页设计
  13. 【安装包】eclipse
  14. 精明管理者选人的N种方式
  15. 【OpenCV学习笔记】【编程实例】五 (霍夫圆检测)
  16. MFC中CDC画线总结
  17. 前端软件开发短期培训需要多长时间
  18. beetl html模板,Beetl模板引擎之自定义html标签
  19. 彩票,双色球,模拟开奖小项目
  20. 负载均衡服务器性能数据,用缓存服务器负载均衡 提数据库查询效率

热门文章

  1. Storm集群开启HA高可用
  2. Windows下安装配置jdk
  3. HashMap由浅入深(jdk8)
  4. axios 使用步骤很简单,首先在前端项目中,引入 axios:
  5. (原创)3.2 AddOwner和OverrideMetadata的区别
  6. spring-102-spring全注解快速实现事务
  7. Optimizing regular expressions in Java
  8. Atitit.执行cli cmd的原理与调试
  9. 线性表11|单链表小结:腾讯面试题 - 数据结构和算法16
  10. 云计算的思想领袖:与Tier3的创始人和首席技术官Jared Wray的谈话