封装了操作数据库的方法

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开发接口,操作数据库相关推荐

  1. 盘点Python网页开发轻量级框架Flask知识(下篇)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 一曲新词酒一杯,去年天气旧亭台. ...

  2. python调用linuxapi_Linux上使用python调用WPS二次开发接口

    原文链接Linux上使用python调用WPS二次开发接口 - C++ Programer​www.cryfeifei.cn 环境Ubuntu18.04 WPS For Linux Python3 简 ...

  3. ci如何使用中$.ajax 中的 url 如何使用php的代码,CI框架中使用ajax操作数据库有关问题...

    CI框架中使用ajax操作数据库问题 本帖最后由 A9925 于 2014-11-24 16:11:05 编辑 前台: //调用方法用ajax操作add_dbdata.php var xmlHttp ...

  4. python web flask开发框架_零基础入门python web框架Flask开发

    Flask框架是Python开发的一个基于Werkzeug和Jinja 2的web开发微框架,它的优势就是极其简洁,但又非常灵活,而且容易学习和应用.因此Flask框架是Python新手快速开始web ...

  5. javaee互联网轻量级框架整合开发_企业开发:Spring框架的简易、高效切入篇

    原文:http://blog.csdn.net/qq_15096707/article/details/72819930作者:梦小白 介绍 Spring框架是个轻量级的Java EE框架.所谓轻量级, ...

  6. javaee互联网轻量级框架整合开发_整合MyBatis的关键点及快速入门

    对于从事Web应用开发人员,Java EE平台如今已经成为电信.金融.电子商务.保险.证券等各行业的大型应用系统的首选开发平台.在企业级应用的开发选择上,.NET已趋式微,PHP通常只用于开发一些企业 ...

  7. Python明星web框架Flask

    Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...

  8. python基于轻量级CNN模型开发构建手写藏文数字识别系统

    最近做的很多工作都是跟手写性质的数据集有关的,比如:手写汉字.手写甲骨文.手写数字.手写字母等等,今天主要做的实践是对藏文中的手写数字进行识别分析,在我之前的博文中有很多相关的实践分析,感兴趣的话可以 ...

  9. JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(1):Mybatis和Hibernate概念理解...

    一.关键字说明: oop:面向对象 aop:面向切面 ioc:控制反转 orm:对象关系映射 pojo:数据库表映射的java实体类 二.常识说明: 1.hibernate和mybatis都属于持久层 ...

  10. python与数据库完整项目_python入门:操作数据库项目实例分享

    本文根据一个项目实例,记录分享一下python将数据库的内容提取显示到程序界面的过程及相关设置,探索python操作数据库的用法. 主要分享内容: 1.显示数据库内容. 2.修改数据库内容. 3.表格 ...

最新文章

  1. BBSSDK插件技术方案
  2. axios mysql_axios的简单使用
  3. java中的getnumber怎么用_java安全编码指南之:Number操作详解
  4. Spotlight – Recommend Node.js Projects For January
  5. Linux教学的误区
  6. opencv 运动检测 三帧差法
  7. 呼呼呼呼呼呼呼呼呼好
  8. 计算机视觉-语义分割论文总结
  9. Word中相邻的两页无法没有对齐的解决方法
  10. android studio引入lib,Android studio项目引入另外一个项目做为Lib
  11. Vue -- vue-router(路由)的基本使用
  12. tomcat启动报错,原来是DB2的一个jar包搞的鬼
  13. I2C接口控制器之协议解析
  14. labelme标注的json文件转化成ICDAR2015格式
  15. 关于pthread_cond_signal与pthread_cond_broadcast的使用说明
  16. js面试与笔试---理解 JavaScript 作用域和作用域链
  17. Linux常用命令介绍及使用
  18. 互联网创业公司的技术团队构建
  19. Redisson-3.8 查找DNS异常的解决办法
  20. Window---Mac---Linux区别

热门文章

  1. linux安装Vim-plug和配置.vimrc文件
  2. ubuntu18打开网页慢的问题
  3. 五、数组(高琪java300集+java从入门到精通笔记)
  4. Unity 实现 角色的换装
  5. Vue实现拖拽拼图滑块验证
  6. 目标跟踪VOT2016的配置
  7. 2021年最佳Selenium替代品
  8. 2022吴恩达机器学习第二周
  9. 触动精灵 alilib
  10. 网络分层和Http协议原理