python之轻量级框架flask开发接口,操作数据库
封装了操作数据库的方法
import traceback
import pymysql
from flask import jsonify
from pymysql import connect
from collect import LOGGER
from collect.exceptions.HadesException import *class dbConnect():# 初始化def __init__(self):try:# 连接数据库self.conn = connect(host='12.32.68.224',port=3306,database='数据库名',user='root',password='数据库密码',charset='utf8',# pymysql默认select获取的数据是元祖类型,如果想要字典类型的数据,要设置如下cursorclass=pymysql.cursors.DictCursor)except:print("连接数据库失败")exit(-1)# 光标self.cs = self.conn.cursor()# 查询数据库def query(self, sql):self.cs.execute(sql)print(sql)# 获取数据result = self.cs.fetchall()self.conn.close()print(result)return resultself.close()# 插入数据def add(self, sql):try:print(sql)self.cs.execute(sql)self.conn.commit()except Exception as e:self.conn.rollback()finally:self.close()# 断开连接def close(self):self.cs.close()self.conn.close()def insert_db(self, sql):select_sql = 'SELECT LAST_INSERT_ID()'try:self.cs.execute(sql)self.conn.commit()self.cs.execute(select_sql)result = self.cs.fetchall()insert_id = result[0]['LAST_INSERT_ID()']print()print(insert_id)return insert_idexcept pymysql.err.ProgrammingError:LOGGER.error(traceback.format_exc())raise DatabaseSyntaxErrorexcept Exception:raise Exceptionreturn Nonefinally:self.cs.close()# if __name__ == "__main__":
# db = dbConnect()
# db.query("select * from result")
实现查/写接口
from flask import render_template, request,jsonify
from collect.controller import mysql_connection
from collect import app
from collect.controller.blueprint import create_blueprintapp_task = create_blueprint('collect', '/task', __name__)#任务
@app_task.route('', methods=["POST", "GET"])
def task():if request.method == 'POST':taskname = request.form["taskname"]remarks = request.form["remarks"]db = mysql_connection.dbConnect()submmit = db.query("select taskname from perf_task where taskname = '%s'" % taskname)try:if not submmit:db = mysql_connection.dbConnect()sql = "insert into perf_task(taskname, remarks) values('%s','%s') " % (taskname, remarks)db.add(sql)result = {'code': 200, 'Msg': 'create task successfully'}return jsonify(result)else:result = {'code': 200, 'Msg': '该任务已存在,请重新输入'}return jsonify(result)except Exception as e:result = {'code': -1, 'Msg': 'create task faliured'}return jsonify(result)elif request.method == 'GET':db = mysql_connection.dbConnect()sql = "select * from perf_task order by createtime DESC"result = db.query(sql)return(jsonify(result))locals()
templates
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>任务页</h1></form><form action="/task" enctype='multipart/form-data' method=['POST','GET']><label>任务名称:</label><input type="taskname" name="taskname"/><br><label>任务描述:</label><input type="remarks" name="remarks"/><br><input type="submit" value="提交"></form>
</body>
</html>
utils下的init文件
#导入要运行的文件的方法import osfrom flask import Flask
from collect.utils.LogUtils import Loggerapp = Flask(__name__)BASE_UPLOAD_PATH = os.path.join(app.root_path, 'static/uploads')
BASE_LOG_PATH = os.path.join(app.root_path, 'logs')
LOGGER = Logger(log_path=BASE_LOG_PATH)from collect.controller.upload import app_upload
from collect.controller.report import app_report
from collect.controller.task import app_taskapp.register_blueprint(app_upload)
app.register_blueprint(app_report)
app.register_blueprint(app_task)from collect.controller import task
运行整个工程下的项目
from collect import appif __name__ == '__main__':app.run(debug=True)
python之轻量级框架flask开发接口,操作数据库相关推荐
- 盘点Python网页开发轻量级框架Flask知识(下篇)
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 一曲新词酒一杯,去年天气旧亭台. ...
- python调用linuxapi_Linux上使用python调用WPS二次开发接口
原文链接Linux上使用python调用WPS二次开发接口 - C++ Programerwww.cryfeifei.cn 环境Ubuntu18.04 WPS For Linux Python3 简 ...
- ci如何使用中$.ajax 中的 url 如何使用php的代码,CI框架中使用ajax操作数据库有关问题...
CI框架中使用ajax操作数据库问题 本帖最后由 A9925 于 2014-11-24 16:11:05 编辑 前台: //调用方法用ajax操作add_dbdata.php var xmlHttp ...
- python web flask开发框架_零基础入门python web框架Flask开发
Flask框架是Python开发的一个基于Werkzeug和Jinja 2的web开发微框架,它的优势就是极其简洁,但又非常灵活,而且容易学习和应用.因此Flask框架是Python新手快速开始web ...
- javaee互联网轻量级框架整合开发_企业开发:Spring框架的简易、高效切入篇
原文:http://blog.csdn.net/qq_15096707/article/details/72819930作者:梦小白 介绍 Spring框架是个轻量级的Java EE框架.所谓轻量级, ...
- javaee互联网轻量级框架整合开发_整合MyBatis的关键点及快速入门
对于从事Web应用开发人员,Java EE平台如今已经成为电信.金融.电子商务.保险.证券等各行业的大型应用系统的首选开发平台.在企业级应用的开发选择上,.NET已趋式微,PHP通常只用于开发一些企业 ...
- Python明星web框架Flask
Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...
- python基于轻量级CNN模型开发构建手写藏文数字识别系统
最近做的很多工作都是跟手写性质的数据集有关的,比如:手写汉字.手写甲骨文.手写数字.手写字母等等,今天主要做的实践是对藏文中的手写数字进行识别分析,在我之前的博文中有很多相关的实践分析,感兴趣的话可以 ...
- JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(1):Mybatis和Hibernate概念理解...
一.关键字说明: oop:面向对象 aop:面向切面 ioc:控制反转 orm:对象关系映射 pojo:数据库表映射的java实体类 二.常识说明: 1.hibernate和mybatis都属于持久层 ...
- python与数据库完整项目_python入门:操作数据库项目实例分享
本文根据一个项目实例,记录分享一下python将数据库的内容提取显示到程序界面的过程及相关设置,探索python操作数据库的用法. 主要分享内容: 1.显示数据库内容. 2.修改数据库内容. 3.表格 ...
最新文章
- BBSSDK插件技术方案
- axios mysql_axios的简单使用
- java中的getnumber怎么用_java安全编码指南之:Number操作详解
- Spotlight – Recommend Node.js Projects For January
- Linux教学的误区
- opencv 运动检测 三帧差法
- 呼呼呼呼呼呼呼呼呼好
- 计算机视觉-语义分割论文总结
- Word中相邻的两页无法没有对齐的解决方法
- android studio引入lib,Android studio项目引入另外一个项目做为Lib
- Vue -- vue-router(路由)的基本使用
- tomcat启动报错,原来是DB2的一个jar包搞的鬼
- I2C接口控制器之协议解析
- labelme标注的json文件转化成ICDAR2015格式
- 关于pthread_cond_signal与pthread_cond_broadcast的使用说明
- js面试与笔试---理解 JavaScript 作用域和作用域链
- Linux常用命令介绍及使用
- 互联网创业公司的技术团队构建
- Redisson-3.8 查找DNS异常的解决办法
- Window---Mac---Linux区别