flask有个很人性化的处理就是 你的错误的输出是可以通过错误日志来自定义  ,让你输入的错误不再是“大黄页”,

通过 errorhandler()来装饰函数之后你的所有的输入错误的函数你都会进入这个函数中,然后我没可以自定义错误日志的输出

errorhandler("报错响应码")

@app.errorhandler(404)  #当报错是404的时候就走这个函数
def handle_bad_request(e):
# return 'bad request!', 400
return "url错误"

register_error_handler() 管理注册出错

Flask使用SQLAlchemy进行连接

首先安装SQLAlchemy

python3环境下直接安装

pip3 install  mysqlclient 如果下载不成功就要指定版本
eg:
  python3 -m pip install mysqlclient==1.3.12 # 指定下载1.3.12版本 可以先去官网查查版本
  

然后我们进行导入连接

from flask_sqlalchemy import SQLAlchemy  #导入SQLALChemy

app = Flask(__name__)
#配置数据库连接
app.config['SQLALCHEMY_DATABASE_URL'] = "mysql+pymysql:root:123456@127.0.0.1/mysql" #连接你的mysql数据库 我的数据库的名字是root密码是123456
db = SQLAlchemy(app)

你的连接之后要在界面中的使用

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@127.0.0.1:3306/db2'
# app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
db = SQLAlchemy(app) #初始你的db变量 app.config.from_object(Settings) #接收你的配置文件
app.config.from_object(UrlManage) @app.route("/api/hello")
def hello():
from sqlalchemy import text #导入text
sql = text("select * from study")#查询study表
result = db.engine.execute(sql)# 执行这个语句
for row in result:
app.logger.error(row)
return "hello world"

flask-sqlacodegen

依赖mysqlclient

这是一个可以生成你的flask和数据库链接的表,当你的数据库中的字段创建完毕之后 然后再通过这个就可以生成类似于django的model表中信息一样

在使用的时候如果是本地的数据库就是127.0.0.1,如果是外部的就要把数据库权限设置允许外部链接,要下载mysqlclient模块才可以使用,并且如果四python3必须要使用pymysql结合才能连接数据库 而python2是需要mysqldb模块并且保存的文件目录也要建立好

flask-sqlacodegen mysql+pymysql://数据库账户:数据库密码@要链接的ip/链接表 --tables user --outfile 存储的目录 --flask


# 从118.25.239.20下的food_db的数据库中把user表的数据生成到项目中的common/model.py文件中
flask-sqlacodegen mysql+pymysql://root:123456@118.25.239.20/food_db --tables user --outfile common/model.py  --flask  

# 
flask-sqlacodegen mysql+pymysql://root:123456@118.25.239.20/food_db --tables member --outfile common/models/member/member.py  --flask

Flask的错误日志处理和|ORM操作的更多相关文章

  1. flask的orm操作

    django是有orm操作的  可想而知 那么flask也是有orm操作的,其实flask的orm操作的使用和djnago的是差不多的 django的orm操作进行条件筛选的时候后面跟着的是objec ...

  2. Django之ORM操作

    Django之ORM操作 前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计 ...

  3. django -orm操作总结

    前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MyS ...

  4. 查看MS SQL SERVER 错误日志

    查看目的: 错误日志的查看是确保过程已成功完成(例如,备份和恢复操作,批处理命令,或其他脚本和过程).这可以帮助检测任何当前或潜在的问题,包括自动恢复信息(尤其是如果SQL Server实例已停止并重 ...

  5. SQL Server代理(5/12):理解SQL代理错误日志

    SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 如我们在这个系列的前几篇文章所见,SQL ...

  6. ASP.NET MVC中错误日志信息记录

    MVC中有一个处理异常的过滤器 HandleErrorAttribute 1.新建一个类继承自 HandleErrorAttribute,然后重写OnException这个方法 public clas ...

  7. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

  8. 第五篇 SQL Server代理理解代理错误日志

    本篇文章是SQL Server代理系列的第五篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.在第四篇中我们看到 ...

  9. [转]PHP错误日志

    对 于PHP开发者来说,一旦某个产品投入使用,应该立即将display_errors选项关闭,以免因为这些错误所透露的路径.数据库连接.数据表等信息 而遭到黑客攻击.但是,任何一个产品在投入使用后,都 ...

随机推荐

  1. FindBugs:Java 静态代码检查

    在使用 Jenkins 构建 Java Web 项目时候,有一项叫做静态代码检查,是用内置的 findBugs 插件,对程序源代码进行检查,以分析程序行为的技术,应用于程序的正确性检查. 安全缺陷检测 ...

  2. python迭代器、生成器、装饰器

    1 迭代器 这里我们先来回顾一下什么是可迭代对象(Iterable)? 可以直接作用于for循环的对象统称为可迭代对象,即Iterable. # 一是集合数据类型,如list.tuple.dict.s ...

  3. 玩转mongodb(二):mongodb基础知识

    常用基本数据类型: null null用于表示空值或者不存在的字段: {"data":null} 布尔型 布尔类型只有两个值,true和false: {"data&quo ...

  4. PTA (Advanced Level) 1028 List Sorting

    List Sorting Excel can sort records according to any column. Now you are supposed to imitate this fu ...

  5. Linux内核源码目录

    linux和Android的Makefile和android.mk Uboot流程分析(未编辑完) Kernel的IIC驱动分析(未编辑完)

  6. composer如何自动验证并获取gitlab的私有库?

        近期购买了Laravel的nova以后,需要对它的核心代码做一些修改,为方便与团队其他成员分享,以及在nova官方库更新后方便对差异管理.便将nova库挂在自己的gitlab,通过compos ...

  7. python学习之类和实例的属性;装饰器@property

    无论是类还是实例,一切皆是对象. Python是强动态语言,和java在这点上有所不同. class Ab(): a = 666 # 定义类对象Ab,自带属性a,值为666 # 使用Ab.__dict ...

  8. UIWebView 展示GIF/image

    代码: [web loadData:self.gifDataArr[index] MIMEType:@"image/gif" textEncodingName:@"&qu ...

  9. springboot +element-axios跨域请求

    1.初始化element项目 1.1:vue init webpage '项目名称' 1.2:npm i element-ui -S 1.3:在main.js添加 import ElementUI f ...

  10. JSP学习笔记(2)-JSP语法

    1.JSP页面的基本结构 (1)HTML标记符(2)JSP标记(3)变量和方法的声明(4)Java程序片(5)Java表达式 2.变量和方法的声明 成员变量和方法 语法:<%! 变量.方法%&g ...