基于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
首先是登陆页面
登陆成功之后呢
查看主机详情
可以添加主机
删除主机
源代码如下:
基于python的作业管理系统_python day18 作业 Django 开发主机管理系统相关推荐
- python django图书管理系统_Python框架:Django写图书管理系统(LMS)
Django模版文件配置 文件路径 test_site -- test_site -- settings.py TEMPLATES = [ { 'BACKEND': 'django.template. ...
- 用python设计学生管理系统_基于python和tkinter实现的一个简单的学生信息管理系统...
一个简单的学生信息管理系统基于python和tkinter 1.需求分析1.大学生信息管理系统使用tkinter接口创建一个窗口.使界面更漂亮.2. 实现与数据库的连接,教师和学生的信息可以保存或读取 ...
- 基于python的接口录制平台的设计与开发
背景: 要写论文,我选择的题目是"基于python的应用研究与开发",我打算把公司的hrun-接口录制平台,从设计,到技术分析,到代码实现,进行系统的总结下. (继续完善中...) ...
- py233基于 python的诚交大学生二手交易平台Django#毕业设计
开发环境 项目编号:py233基于 python的诚交大学生二手交易平台Django#毕业设计 开发语言:Python python框架:django 软件版本:python3.7/python3.8 ...
- 基于python和MySQL数据库开发应用程序:学生信息成绩管理系统1.0版本
目录: 前言 一,需求分析 二,前期准备 三,编写代码 1.app.py 2.__init__.py 3.models.py 四,功能描述 1.界面展示 2.系统流程图介绍 3.功能介绍 系统优缺点 ...
- python制作学生管理系统_Python——面向对象,简易学生信息管理系统
一.概述 1.1涉及到的知识点 项目开发:创建项目,创建包,导入包: 面向对象:静态方法,继承,内置函数,自定义函数: 数据类型:列表,字典,字符串.列表.字典的转换和自动生成导向: 异常处理:捕获异 ...
- 基于python的聊天室_Python实现文字聊天室
你是否想过用所学的Python开发一个图形界面的聊天室程序啊? 像这样的: image 如果你想开发这样一个有点怀旧风格的聊天程序,那么可以接着看: 要开发这个聊天程序,你需要具备以下知识点: asy ...
- 如何做一个基于python校园网站系统毕业设计毕设作品(Django框架)
分析架构 我们开发系统,常规有两个架构,一个BS架构(浏览器/服务器模式),一个CS(客户端/服务器端模式):基于Python(Django框架)的网站开发属于B/S架构(即浏览器和服务器架构模式), ...
- arcgis中python批处理_基于Python的ArcGIS空间数据格式批处理转换工具开发
基于 Python 的 ArcGIS 空间数据格式批处理转换工具开 发 焦 洋,邓 鑫,李胜才 [摘 要] 摘 要 ArcGIS 仅提供了单个文件的空间数据格式转换工具.本文首先 研究基于 Pytho ...
最新文章
- 数据结构:关于重建二叉树的三种思路
- 谈谈战双的战斗机制设计趋同
- 8个神奇的网页动态流体布局及其做法揭秘
- 点击按钮显示div并向div中传递参数
- feiq肆无忌惮欺压同行
- 在线涂鸦画板小程序源码
- HighGUI参考手册
- Impala之加载HBase数据
- Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别
- mysql随机取5条数据_【转】mysql实现随机获取几条数据的方法
- 管理数据,应用程序和主机安全-A
- html设计网页板块,网页设计
- 【安装包】eclipse
- 精明管理者选人的N种方式
- 【OpenCV学习笔记】【编程实例】五 (霍夫圆检测)
- MFC中CDC画线总结
- 前端软件开发短期培训需要多长时间
- beetl html模板,Beetl模板引擎之自定义html标签
- 彩票,双色球,模拟开奖小项目
- 负载均衡服务器性能数据,用缓存服务器负载均衡 提数据库查询效率
热门文章
- Storm集群开启HA高可用
- Windows下安装配置jdk
- HashMap由浅入深(jdk8)
- axios 使用步骤很简单,首先在前端项目中,引入 axios:
- (原创)3.2 AddOwner和OverrideMetadata的区别
- spring-102-spring全注解快速实现事务
- Optimizing regular expressions in Java
- Atitit.执行cli cmd的原理与调试
- 线性表11|单链表小结:腾讯面试题 - 数据结构和算法16
- 云计算的思想领袖:与Tier3的创始人和首席技术官Jared Wray的谈话