将mininet流量数据可视化至前端

news2024/10/2 16:22:01

目录

    • 准备工作:
    • 将mininet流量数据输入数据库
    • 流量可视化

准备工作:

创建项目

django-admin startproject mininet_web

在这里插入图片描述

python manage.py runserver 0.0.0.0:8000

在这里插入图片描述
init文件加上:
在这里插入图片描述

settings改数据库,具体看上一篇
在这里插入图片描述
创建第一个app

在这里插入图片描述
models.py是创建数据库中表结构用的
在这里插入图片描述
类名代表了数据库表名,且继承了models.Model,类里面的字段代表数据表中的字段(name),数据类型则由CharField(相当于varchar)、DateField(相当于datetime), max_length 参数限定长度。

settings文件里加入app:
在这里插入图片描述
三部曲,自动创表,并通知项目

sudo python manage.py migrate

在这里插入图片描述
testdb创建在mininet_web最里层文件夹中:

示例代码:
# -*- coding: utf-8 -*-
from django.http import HttpResponse

from myproject.models import Test

# Create your models here.
def testdb(request):
	test1=Test(name='yyy')
	test1.save()
	response=""
	response1=""
	list=Test.objects.all()
	for var in list:
		response1+=var.name+" "
	response=response1
	return HttpResponse("<p>"+response+"<p>")


再稍微改改url文件:
在这里插入图片描述
得到效果:
在这里插入图片描述
可以查看数据库:
在这里插入图片描述

将mininet流量数据输入数据库

在我们的应用的代码中:
加入
for i in range(4): for j in range(4): if flows.objects.filter(source_switch=i,destination_switch=j).exists(): flows.objects.filter(source_switch=i,destination_switch=j).update(flows=int(s[i][j])) else : flows1=flows(source_switch=i,destination_switch=j,flows=int(s[i][j])) flows1.save()
即可时刻更新对应流量数据

流量可视化

记得新建templates文件夹
修改settings文件:
在这里插入图片描述
views。py文件里
对流量数据库进行操作:
在这里插入图片描述

from django.http import HttpResponse
from myproject.models import flows
from django.shortcuts import render

def hello(request):
	return HttpResponse("Hello world !")

def topology(request):
    # Fetch the traffic data from the database
    traffic_data = flows.objects.all()

    # Prepare the data for display
    # You can extend this part to format the data as needed
    topology_data = []
    for data in traffic_data:
        topology_data.append({
            'source_switch': data.source_switch,
            'destination_switch': data.destination_switch,
            'traffic_size': data.flows
        })

    # Render the data in a template and pass it to the context
    context = {
        'topology_data': topology_data
    }
    return render(request, 'topology.html', context)

topology.html:

<!DOCTYPE html>
<html>
<head>
    <title>Mininet Topology</title>
</head>
<body>
    <h1>Mininet Topology</h1>
    <table>
        <tr>
            <th>Source Switch</th>
            <th>Destination Switch</th>
            <th>Traffic Size</th>
        </tr>
        {% for data in topology_data %}
            <tr>
                <td>{{ data.source_switch }}</td>
                <td>{{ data.destination_switch }}</td>
                <td>{{ data.traffic_size }}</td>
            </tr>
        {% endfor %}
    </table>
</body>
</html>

接着改改urls:
在这里插入图片描述
就大功告成:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/484583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows安装mariadb,配置环境变量(保姆级教学)

软件下载地址&#xff1a;https://mariadb.com/downloads/ 1.双击下载好的软件 2.点击next 3.勾选我同意&#xff0c;点击next 4.这里那你可以设置你要安装的路径&#xff0c;也可以使用默认的&#xff0c;之后点击next 5.如图所示&#xff0c;设置完点击next 6.接下来就默…

如何让ChatGPT成为科研工作中的小助手?(附使用指南)

大家好&#xff0c;我是带我去滑雪&#xff01; 从2022年年底发布叫ChatGPT的人工智能聊天机器人以来&#xff0c;逐渐强势进入了各行各业&#xff0c;一夜火爆全网&#xff0c;它使用自然语言处理技术来与用户进行交互和沟通&#xff0c;可以回答用户关于知识、娱乐、生活等方…

MySQL高级篇——MVCC多版本并发控制

导航&#xff1a; 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线MySQL高级篇设计模式牛客面试题 目录 1. 什么是MVCC 2. 快照读与当前读 2.1 快照读 2.2 当前读 3. MVCC三剑客 3.1 回顾隔离级别 3.2 隐藏字段、Undo…

组合导航卡尔曼滤波几个杂项

1.组合导航卡尔曼滤波噪声协方差矩阵调参 在组合导航卡尔曼滤波算法中&#xff0c;主要涉及两个噪声协方差矩阵&#xff0c;过程噪声协方差矩阵Q&#xff0c;测量噪声协方差矩阵R&#xff0c;具体来说&#xff1a; R表示测量噪声协方差&#xff0c;它是一个数值&#xff0c;这…

【Unity-UGUI控件全面解析】| Toggle 开关组件详解

🎬【Unity-UGUI控件全面解析】| Toggle 开关组件详解一、组件介绍二、组件属性面板三、代码操作组件四、组件常用方法示例4.1 监听开关事件五、组件相关扩展使用5.1 配合Toggle Group组使用💯总结🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y …

JavaScript实现输入年份月份,判断该月份是多少天的代码

以下为实现输入年份月份&#xff0c;判断该月份是多少天的代码和运行截图 目录 前言 一、实现输入年份月份&#xff0c;判断该月份是多少天 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 前言 1.若有选择&#xff0c;您可以在目录里进行快速查找…

康耐视Visionpro-视觉人机器视觉粉丝-千问之六十五解答

(2023年5月2日更,下次更新2023年10月1日-10月7日) Question0: 康耐视visionpro9.8/9.9-BeadInspect工具详细使用流程 原因分析或解决办法 康耐视visionpro9.8-BeadInspect工具详细使用流程 (qq.com) Question1: C#与visisionpro联合开发exe文件开机启动设置 原因分析…

项目实战笔记

前台&#xff1a;呈现给用户的视觉和基本操作 后台&#xff1a;用户浏览网页时候&#xff0c;用户看不到的后台数据 前面两者都包含前端和后端 技术选型要统一 后端 接入层&#xff08;control&#xff09;&#xff1a; 接受请求&#xff0c;获取传递过来的参数调用服务层…

unityt光线透射目标

介绍 在Unity中&#xff0c;光线透射目标通常指的是在场景中放置的一些物体&#xff0c;用于模拟光线从一个物体透过到另一个物体的效果。canvas子物体组件中&#xff0c;勾不勾选“光线透射目标”有什么区别&#xff1f; 方法 在Canvas子物体组件中勾选“光线透射目标”时&…

jqGrid之单选

jqGrid不支持单选&#xff0c;本来也想借鉴网上的做法&#xff0c;通过对checkbox的处理来间接实现。但在实践中却发现设置了multiSelect后&#xff0c;checkbox并没有显示出来&#xff0c;怀疑是跟页面的其它前端框架如bootstrap有冲突&#xff0c;索性换个思路来实现&#xf…

C语言的那些少见的事1

目录 前言&#xff1a; 1.变量名称的意义 2.卖函数库的知识 3.变长数组 4.清空输入缓冲区 5.左值和右值 6.for控制语句中定义变量 7.刷题中浮点数的精度问题 8.C语言提供C的标准和C库的约定 9.extern声明外部符号 ❤博主CSDN:啊苏要学习 ▶专栏分类&#xff1a;C语言…

飞书接入ChatGPT - 将ChatGPT集成到飞书机器人,直接拉满效率

文章目录 前言环境列表视频教程1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 转载自远控源码文章&#xff1a;飞书接入ChatGPT - 将ChatGPT集…

java基础知识——26.反射

这篇文章我们来讲一下java的代理与反射&#xff0c;这是很重要的一部分内容。 目录 1.什么是反射 2.获取class对象的三种方式 3.反射获取构造方法 4.利用反射来获取成员变量 5.利用反射来获取成员方法 6.反射的作用 7.反射小结 1.什么是反射 首先&#xff0c;我们来看…

研报精选230503

目录 【个股230503华西证券_山鹰国际】盈利能力环比改善&#xff0c;消费复苏静待花开 【个股230503华西证券_太平鸟】控折扣下毛利率历史新高&#xff0c;关注Q3货品改善 【个股230503中银证券_南京银行】息差企稳回升 【个股230503华西证券_山鹰国际】盈利能力环比改善&#…

No.046<软考>《(高项)备考大全》【专项2】《案例分析 - 计算题(1)》

《&#xff08;高项&#xff09;备考大全》【专项2】《案例分析 - 计算题》 1 题型全部概况2 时间管理2.1 关键路径法 CMP2.1.1 原理2.1.2 关键路径的基本问题2.1.3 题目7、题目6 - 正推、反推8、题目7 2.2 PERT&#xff08;计划评审技术&#xff09;2.3 活动排序网络图 3 成本…

安卓系统下的截屏和录屏

可以抓取手机屏幕画面&#xff08;屏幕截图&#xff09;&#xff0c;也可以录制屏幕画面视频。拍摄屏幕后&#xff0c;可以查看、编辑和分享所拍的图片或视频。 抓取屏幕截图 打开要抓取的屏幕。视手机情况执行下列一个操作&#xff0c;3种方法看你手机有效的&#xff1a; 同…

linux【多线程】基于环形队列(RingQueue)的生产消费模型

基于环形队列RingQueue的生产消费模型 一、引入二、信号量2.1 信号量概念2.2 信号量PV操作2.3 POSIX信号量接口 三、基于环形队列(RingQueue)的生产消费模型3.1 设计思路3.2 结构设计图3.3 单生产单消费代码实现 四、多生产多消费情形五、小结5.1 多生产多消费的意义5.2 条件变…

docker容器技术

什么是docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现&#xff0c;基于 Linux 内核的 cgroup&#xff0c;namespace&#xff0c;以及 OverlayFS 类的 Union FS 等技术&#xff0c;对进程进行封装隔离&#xff0c;属于 操作系统层面的虚拟化技术。由于隔离的进程独…

PCL学习三:KD-Tree Octree

参考引用 Point Cloud Library黑马机器人 | PCL-3D点云【量化课堂】KD-Tree系列KD-Tree原理详解 1. 引言 通过激光雷达或双目相机获取到的点云&#xff0c;一般数据量较大且分布不均匀&#xff0c;数据主要表征了目标物表面的大量点的集合&#xff0c;这些离散的点如果希望实现…