
院长简介
作者:院长
职位:运维开发工程师
官网:https://deanit.cn
博客:https://blog.deanit.cn
擅长:
【虚拟化,容器化,自动化运维,CICD,监控,日志,中间件,双机热备,分布式存储,数据库,认证,组网隧道,Kali 安全渗透,网络攻击,负载均衡,Html,Css,Js,Jq,Vue3,Shell,Python,Go,前后端框架】
项目地址
https://github.com/kiraster/IPA_VIEW_v0.1_Beta?tab=readme-ov-file
项目简介
Flask 框架组装的IP地址管理平台
项目特色
首页:没有首页的首页
IP地址表:显示IP地址使用情况,可在页面进行增、删、改、导出到Excel表格
分组:按分组 + 网段显示目录树,右侧显示所选择查看网段的饼图,方块表和网段IP地址表
设置:查看定时任务执行情况和轮询参数
项目结构
| app.py # 没什么用装个样子
| manage.py # 应用入口文件
| README.md
| requirements.txt # 安装库
|
+---app
| | commands.py # 自定义插入组命令
| | config.py # 配置文件
| | models.py # 数据模型类代码
| | task.py # 定时任务代码
| | test_data.py # 导入测试数据
| | __init__.py
| |
| +---admin
| | | lib.py # 可复用功能函数代码
| | | views.py # 视图函数代码
| | | __init__.py
| |
| +---static # CSS JS 插件
| |
| +---templates # 被渲染的html模板
| | | 404.html # 404 页面
| | |
| | \---admin
| | about.html
| | base.html
| | index.html
| | ipgroup.html
| | ipshow.html
| | settings.html
|
|
+---instance # flask db 命令自动生成的文件夹
| db.sqlite3 # sqlite3数据库文件
|
+---migrations # flask db 命令自动生成的文件夹
部署安装
下载软件
# git
git clone https://github.com/kiraster/IPA_VIEW_v0.1_Beta.git
# ZIP
https://github.com/kiraster/IPA_VIEW_v0.1_Beta ->> Code –>> Download ZIP
虚拟环境
# 创建虚拟环境
python -m venv venv
# 进入虚拟环境
.\venv\Scripts\activate
修改配置
# 定义flask代码中的配置项
class FlaskConfig:
HOST = '127.0.0.1' # 设置主机地址,'0.0.0.0' 表示监听所有可用的网络接口
PORT = 80 # 设置端口号,一般情况下使用默认的 5000 端口
# 开启调试模式
DEBUG = True
# 数据库连接URI
SQLALCHEMY_DATABASE_URI = 'sqlite:///db.sqlite3'
# SQLALCHEMY_TRACK_MODIFICATIONS当设置为True时,SQLAlchemy会在对数据库进行修改操作(如添加、更新、删除记录)后发出信号,
# 以便其他组件(如Flask-Migrate)能够捕获这些变化并生成相应的数据库迁移脚本。
SQLALCHEMY_TRACK_MODIFICATIONS = False
# 定义SECRET_KEY,CSRF保护需要一个密钥来安全地对令牌进行签名。
# 默认情况下,这将使用Flask应用程序的SECRET_KEY。如果想使用单独的令牌,可以设置WTF_CSRF_SECRET_KEY
SECRET_KEY = '21caf73529034bf8ad2d04e820dc2f1d'
# APScheduler配置参数
class APSchedulerConfig:
# 开启API查询接口
SCHEDULER_API_ENABLED = True
job1_name = '定时轮询ARP表'
job2_name = '定时更新没有轮询到ARP表项的IP地址状态'
job1_seconds = 30
job2_seconds = 30
# 最大定时任务实例数
SCHEDULER_MAX_INSTANCES = 66
class SNMPConfig:
# 当超过30分钟没有updated_at值更新,则available值置为False
REFRESH_TIME = 1
SNMP_DATA = [
{'snmp_host': '192.168.56.10', 'snmp_community': 'public'},
{'snmp_host': '192.168.56.20', 'snmp_community': 'xswl_public'},
]
安装库
pip install -r requirements.txt
# 网络不行用下面这个
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt
运行项目
# 创建当前版本的数据迁移脚本
flask db init
# 数据迁移脚本
flask db migrate
# 创建数据库
flask db upgrade
# 在IPGroup表创建一个默认组
# 输入以下命令,填写默认组组,回车使用默认值“Default”,默认组名称随意起都可
flask insert group
Name [default]:
# 可选,导入测试数据
python .\app\test_data.py
# 启动应用
python manage.py
或
flask run
访问Web页面








招贤纳士
欢迎👏关注《院长技术》,只做原创,干货~~~

更多技术干货持续输出中......
欢迎👏加院长助理,邀请微信群:《烦请关注公众号》


推荐阅读

文章转载自戏说数据那点事,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




