当前位置: 首页 > news >正文

python+django自动化平台(一键执行sql) 前端vue-element展示

一、开发环境搭建和配置

pip install mysql-connector-pythonpip install PyMySQL

二、django模块目录

dbOperations
├── __init__.py
├── __pycache__
│   ├── __init__.cpython-313.pyc
│   ├── admin.cpython-313.pyc
│   ├── apps.cpython-313.pyc
│   ├── models.cpython-313.pyc
│   └── views.cpython-313.pyc
├── admin.py
├── apps.py
├── migrations
│   ├── __init__.py
│   └── __pycache__
│       └── __init__.cpython-313.pyc
├── models.py
├── tests.py
└── views.py

三、django模块相关代码

***************************settings.py*********************************************#数据库 连接配置 mysql
DATABASES = {'default': {# 数据库引擎'ENGINE': 'django.db.backends.mysql',# 'ENGINE': 'sqlalchemy.create_engine',# 数据库名字'NAME': 'xx',# 数据库用户名'USER': 'xx',# 数据库密码'PASSWORD': 'xx',# 数据库主机地址'HOST': 'xx',# 数据库端口号'PORT': 'xx'}
}
************************************urls************************************urlpatterns = [path('dbOperations/executeSQLView', db_views.executeSQLView,name='execute_sql_view'),
]
**************************************viwes.py************************************import json
import loggingfrom django.db import connection
from django.http import JsonResponse
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
from rest_framework import statusfrom operation.common.enum.ResponeCodeEnum import ResponseCodeEnum
from operation.common.exception.BusinessException import BusinessException
from operation.common.utils.CommonResult import CommonResult
from operation.common.utils.Serializers import SQLExecutionSerializer# Create your views here.from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from django.db import connection
import logging
from rest_framework import status
import json@csrf_exempt
def executeSQLView(request):try:if request.method == 'POST':json_data = request.bodyprint(json_data)data = json.loads(json_data)sql = data.get('sql', None)# 序列化器的正确使用:在 serializer = SQLExecutionSerializer(data={'sql': sql}) 中,# 我们传递了一个包含 sql 键的字典,而不是直接传递 SQL 查询字符串。serializer = SQLExecutionSerializer(data={'sql': sql})if serializer.is_valid():sql = serializer.validated_data['sql']logging.info("sql:%s" % (sql))"""使用 with 语句管理游标"""with connection.cursor() as cursor:try:# 执行 SQL 查询:cursor.execute(sql)results = cursor.fetchall()# 处理查询结果:columns = [col[0] for col in cursor.description]# 将查询结果转换为字典列表,每个字典表示一行数据。data = [dict(zip(columns, row)) for row in results]return JsonResponse(CommonResult.success_data(data), json_dumps_params={'ensure_ascii': False})except Exception as e:# return JsonResponse(CommonResult.error(e.code, e.message),#                     json_dumps_params={'ensure_ascii': False})raise BusinessException(e.message, e.code)return JsonResponse(serializer.errors, status=status.HTTP_400_BAD_REQUEST)else:raise BusinessException(ResponseCodeEnum.METHOD_ERROR.message, ResponseCodeEnum.METHOD_ERROR.code)except BusinessException as e:return JsonResponse(CommonResult.error(e.code, e.message), json_dumps_params={'ensure_ascii': False})

四、前端代码

<template><div class="app-container"><el-card shadow="always"><el-row :gutter="24"><el-input v-model="sqlParam.sql" type="textarea" :rows="10" placeholder="请输入SQL查询" /><el-button type="primary" @click="executeSQL">执行</el-button></el-row></el-card><el-card shadow="always"><el-table v-if="data.length > 0" :data="data" style="width: 100%"><el-table-column v-for="key in Object.keys(data[0])" :key="key" :prop="key" :label="key" /></el-table></el-card></div>
</template><script>
import {executeSQLView
} from '@/api/dataBase/database-request'export default {data() {return {sqlParam: { // 输入框给出默认值sql: ''},data: [],error: ''}},methods: {executeSQL() {this.dataLoading = trueconsole.log('请求参数:' + this.sqlParam)executeSQLView(this.sqlParam).then((res) => {// alert(JSON.stringify(res.data.data))this.data = res.data.datasetTimeout(() => { // 超过指定超时时间  关闭查询的转圈的loading加载动画this.listLoading = false}, 1.5 * 1000)})}}
}
</script><style>
</style>

五、运行效果

相关文章:

python+django自动化平台(一键执行sql) 前端vue-element展示

一、开发环境搭建和配置 pip install mysql-connector-pythonpip install PyMySQL二、django模块目录 dbOperations ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-313.pyc │ ├── admin.cpython-313.pyc │ ├── apps.cpython-313.pyc │ …...

JavaScript学习总结

前言 JavaScript的学习花的时间比较长&#xff0c;如何进行正确的学习&#xff1f;今天进行总结与整理。 首先&#xff0c;明确JavaScript是什么&#xff1f;它的结构框架是什么&#xff0c;有哪些操作与组成部分。 其次&#xff0c;通过案例实践&#xff0c;清楚达到什么效果…...

Python 3 教程第22篇(数据结构)

Python3 数据结构 本章节我们主要结合前面所学的知识点来介绍Python数据结构。 列表 Python中列表是可变的&#xff0c;这是它区别于字符串和元组的最重要的特点&#xff0c;一句话概括即&#xff1a;列表可以修改&#xff0c;而字符串和元组不能。 以下是 Python 中列表的方…...

AI时代的软件工程:迎接LLM-DevOps的新纪元

在科技日新月异的今天&#xff0c;GPT的问世无疑为各行各业带来了一场深刻的变革&#xff0c;而软件工程领域更是首当其冲&#xff0c;正式迈入了软件工程3.0的新纪元。2024年&#xff0c;作为软件工程3.0的元年&#xff0c;伴随着软件工程3.0宣言的震撼发布&#xff0c;一个全…...

linux安全管理-系统环境安全

1 历史命令设置 1、检查内容 检查操作系统的历史命令设置。 2、配置要求 建议操作系统的历史命令设置。 3、配置方法 编辑/etc/profile 文件&#xff0c;配置保留历史命令的条数 HISTSIZE 和保留历史命令的记录文件大小 HISTFILESIZE&#xff0c;这两个都设置为 5。 配置方法如…...

MindAgent部署(进行中.....)

第一步&#xff1a;pip install -r requirements.txt 问题&#xff1a;如下&#xff1a;就是我的服务器&#xff0c;无法访问github Preparing metadata (setup.py) ... errorerror: subprocess-exited-with-error python setup.py egg_info did not run successfully.│ exi…...

【JavaEE初阶 — 网络编程】TCP流套接字编程

TCP流套接字编程 1. TCP &#xff06; UDP 的区别 TCP 的核心特点是面向字节流&#xff0c;读写数据的基本单位是字节 byte 2 API介绍 2.1 ServerSocket 定义 ServerSocket 是创建 TCP 服务端 Socket 的API。 构造方法 方法签名 方法说明 ServerS…...

《气候变化研究进展》

《气候变化研究进展》设有气候系统变化、气候变化影响、气候变化适应、温室气体排放、对策论坛、简讯等栏目&#xff0c;其内容包括&#xff1a;国内外气候变化研究的最新成果与进展&#xff0c;以及与气候变化有关的交叉学科&#xff0c;如地球科学、生态与环境科学、人文与社…...

D2545电动工具调速专用控制电路芯片介绍【青牛科技】

概述&#xff1a; D2545 是一块频率、占空比可调的脉冲控制电路。可通过调节外接的电阻和电容大小来控制输出频率和占空比&#xff0c;达到控制电机转速的作用。 主要特点&#xff1a; ● 电源电压范围宽 ● 占空比可调 ● 静态功耗小 ● 抗干扰能力强 应用&#xff1a; ● …...

Unity 2020、2021、2022、2023、6000下载安装

Unity 2020、2021、2022、2023、6000 下载安装 以Unity 6000.0.24fc1下载安装为例&#xff1a; 打开 https://unity.cn/ 优三缔 官方网站&#xff1b; 点击【产品列表】→点击【查看更多】→选择自己需要的版本→点【开始使用】 点击【从Unity Hub下载】 以Windows为例&am…...

33 基于单片机的智能窗帘控制系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;采用DHT11温湿度传感器检测温湿度&#xff0c;滑动变阻器连接ADC0832数模转换器转换模拟,光敏传感器&#xff0c;采用GP2D12红外传感器&#xff0c;通过LCD1602显示屏显示…...

【CSS in Depth 2 精译_063】10.2 深入理解 CSS 容器查询中的容器

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 【第十章 CSS 容器查询】 ✔️ 10.1 容器查询的一个简单示例 10.1.1 容器尺寸查询的用法 10.2 深入理解容器 ✔️ 10.2.1 容器的类型 ✔️10.2.2 容器的名称 ✔️10.2.3 容器与模块化 CSS ✔️ 10.3…...

记录一次 k8s 节点内存不足的排查过程

背景&#xff1a;前端服务一直报404&#xff0c;查看k8s日志&#xff0c;没发现报错&#xff0c;但是发现pods多次重启。 排查过程&#xff1a; 查看pods日志&#xff0c;发现日志进不去。 kubectrl logs -f -n weave pod-name --tail 100查看pod describe kubectl describ…...

探索天空中的“名字”——用Landsat影像记录你的名字形状!

大家好&#xff01;今天我发现了一个特别有趣的工具——NASA官网上有一个功能&#xff0c;允许你输入自己的名字&#xff0c;然后它会根据Landsat卫星影像显示出与你名字形状相符的地形图。是不是很酷&#xff1f;&#x1f389; &#x1f30d; Landsat影像的神奇之处Landsat是N…...

QT6学习第四天 感受QT的文件编译

QT6学习第四天 感受QT的文件编译 使用纯代码编写程序新建工程 使用其他编辑器纯代码编写程序并在命令行运行使用 .ui 表单文件生成界面使用自定义 C 窗口类使用现成的QT Designer界面类 使用纯代码编写程序 我们知道QT Creator中可以用拖拽的方式在 .ui 文件上布局&#xff0c…...

透视投影(Perspective projection)与等距圆柱投影(Equirectangular projection)

一、透视投影 1.方法概述 Perspective projection&#xff08;透视投影&#xff09;是一种模拟人眼观察三维空间物体时的视觉效果的投影方法。它通过模拟观察者从一个特定视点观察三维场景的方式来创建二维图像。在透视投影中&#xff0c;远处的物体看起来比近处的物体小&…...

5 Java字符串操作

字符串操作 1、String类1.1 声明字符串1.2 创建字符串 1.3 字符串连接 /连接字符串连接其他数据类型 1.4 提取字符串信息获取字符串长度length()获取指定位置的字符 charAt()获取子字符串索引位置 indexOf()判断字符串首尾内容 startsWith()/endsWith()获取字符数组 toCharArra…...

【C++习题】17.二分查找算法_二分查找

文章目录 二分查找算法简介题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a;图解总结朴素二分模板 二分查找算法简介 特点&#xff1a; 二分查找算法&#xff0c;是最恶心&#xff0c;细节最多&#xff0c;最容易写出死循环的算法。&#xff08;而且非常难…...

Spring Boot英语知识网站:架构与开发

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…...

Unity ShaderLab 实现网格爆炸

实现思路&#xff1a; 沿着3D物体每个面的法线&#xff0c;将面偏移一定的位置。 Shader Graph实现如下&#xff1a; Shader Lab 实现如下&#xff1a; Shader "Unlit/MeshExplode" {Properties{_MainTex ("Texture", 2D) "white" {}_Distan…...

VBench评测基准全面解析:如何精准评估视频生成模型性能

1. VBench评测基准&#xff1a;视频生成模型的"体检中心" 想象一下你去医院做全身体检&#xff0c;医生会用不同仪器检查你的视力、听力、心肺功能等各项指标。VBench就是给视频生成模型做全面体检的"三甲医院"&#xff0c;它能从16个维度给模型打分&#…...

开源动作捕捉与3D数据采集:FreeMoCap如何颠覆传统动捕方案

开源动作捕捉与3D数据采集&#xff1a;FreeMoCap如何颠覆传统动捕方案 【免费下载链接】freemocap Free Motion Capture for Everyone &#x1f480;✨ 项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap 在游戏开发、动画制作和运动科学研究领域&#xff0c…...

SEO_资深运营的SEO外链建设核心技巧

<h2>SEO外链建设&#xff1a;资深运营的核心技巧解析</h2> <p>在当今数字营销的竞争激烈环境中&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;外链建设是提升网站排名的关键因素之一。资深运营者在这一领域已经积累了丰富的经验&#xff0c;他们不仅仅…...

42-西门子1200伺服控制5轴程序 程序采用1200系列PLC,项目实现以下功能: (1)

42-西门子1200伺服控制5轴程序 程序采用1200系列PLC&#xff0c;项目实现以下功能&#xff1a; &#xff08;1&#xff09;.三轴机械手联动取放料PTO脉冲定位控制台达B2伺服 &#xff08;2&#xff09;.台达伺服速度模式应用扭矩模式应用实现收放卷 &#xff08;3&#xff09;.…...

Python将Parquet文件转换为JSONL格式文件

prompt:如何使用 Python 将 Parquet 文件转换为 JSONL 格式文件&#xff1f; 请提供完整的代码示例&#xff0c;包括使用 pandas 或 pyarrow 读取 Parquet 文件&#xff0c; 并将每行数据以 JSON 格式逐行写入 JSONL 文件的实现方式。 假设 Parquet 文件包含结构化数据&#xf…...

手指划过屏幕放大模型界面,环氧树脂层和纤维基体在激光路径下呈现出清晰的物理场分布。突然发现这个双层材料烧蚀模型跑得格外顺畅——看来前几天通宵调参没白费

comsol激光清洗、烧蚀双层材料 表面一层50μm厚度的环氧树脂(可更换成其他材料)&#xff0c;基体材料为纤维材料。 添加功率为13W的激光进行清洗或烧蚀 模型非常成功、角度选择很奈斯在COMSOL里建模时有个小细节特别关键&#xff1a;把环氧树脂层的厚度参数设为全局变量。别小看…...

DownKyi架构深度解析:高效B站视频下载工具的技术实现与实战指南

DownKyi架构深度解析&#xff1a;高效B站视频下载工具的技术实现与实战指南 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印…...

CSMA/CA协议NAV计算实战:用C语言模拟802.11无线网络时序(附完整代码)

CSMA/CA协议NAV计算实战&#xff1a;用C语言模拟802.11无线网络时序&#xff08;附完整代码&#xff09; 在无线网络通信领域&#xff0c;CSMA/CA协议是确保数据传输可靠性的基石。不同于有线网络中的CSMA/CD协议&#xff0c;CSMA/CA通过独特的冲突避免机制解决了无线环境中的隐…...

Qwen2.5-72B-GPTQ-Int4保姆级教程:log排查技巧+Chainlit响应延迟优化

Qwen2.5-72B-GPTQ-Int4保姆级教程&#xff1a;log排查技巧Chainlit响应延迟优化 1. 模型简介与部署准备 Qwen2.5-72B-Instruct-GPTQ-Int4是通义千问大模型系列的最新版本&#xff0c;在知识量、编程能力和数学能力方面有显著提升。这个72.7B参数的模型经过GPTQ 4-bit量化&…...

Rainmeter皮肤模板循环控制:break/continue实现终极指南

Rainmeter皮肤模板循环控制&#xff1a;break/continue实现终极指南 【免费下载链接】rainmeter Desktop customization tool for Windows 项目地址: https://gitcode.com/gh_mirrors/ra/rainmeter Rainmeter作为一款强大的Windows桌面自定义工具&#xff0c;其皮肤模板…...