Flask的错误日志处理和|ORM操作
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操作的更多相关文章
- flask的orm操作
django是有orm操作的 可想而知 那么flask也是有orm操作的,其实flask的orm操作的使用和djnago的是差不多的 django的orm操作进行条件筛选的时候后面跟着的是objec ...
- Django之ORM操作
Django之ORM操作 前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计 ...
- django -orm操作总结
前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MyS ...
- 查看MS SQL SERVER 错误日志
查看目的: 错误日志的查看是确保过程已成功完成(例如,备份和恢复操作,批处理命令,或其他脚本和过程).这可以帮助检测任何当前或潜在的问题,包括自动恢复信息(尤其是如果SQL Server实例已停止并重 ...
- SQL Server代理(5/12):理解SQL代理错误日志
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 如我们在这个系列的前几篇文章所见,SQL ...
- ASP.NET MVC中错误日志信息记录
MVC中有一个处理异常的过滤器 HandleErrorAttribute 1.新建一个类继承自 HandleErrorAttribute,然后重写OnException这个方法 public clas ...
- centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课
centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobacku ...
- 第五篇 SQL Server代理理解代理错误日志
本篇文章是SQL Server代理系列的第五篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.在第四篇中我们看到 ...
- [转]PHP错误日志
对 于PHP开发者来说,一旦某个产品投入使用,应该立即将display_errors选项关闭,以免因为这些错误所透露的路径.数据库连接.数据表等信息 而遭到黑客攻击.但是,任何一个产品在投入使用后,都 ...
随机推荐
- Pyltp使用
1.先使用pip安装pyltp-0.2.1-cp36-cp36m-win_amd64.whl 2.再参考API文档进行具体的使用:http://pyltp.readthedocs.io/zh_CN/d ...
- Nodejs学习笔记(十二)—定时任务(node-schedule)
写在之前 在实际开发项目中,会遇到很多定时任务的工作.比如:定时导出某些数据.定时发送消息或邮件给用户.定时备份什么类型的文件等等 一般可以写个定时器,来完成相应的需求,在node.js中自已实现也非 ...
- django2.1---上下文处理器
上下文处理器 上下文处理器是可以返回一些数据,在全局模板中都可以使用.比如登录后的用户信息,在很多页面中都需要使用,那么我们可以放在上下文处理器中,就没有必要在每个视图函数中都返回这个对象. 在set ...
- [转]Gridview实现多列排序,并显示图标
本文转自:http://blog.csdn.net/gmjinrong/article/details/4516301 GridView实现支持多列排序,并显示升.降序图标上网找了很多资料参考才解决了 ...
- Node.js函数
Node.js 函数 在JavaScript中,一个函数可以作为另一个函数的参数.我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数. Node.js中函数的使用与Javascrip ...
- 数据库导出Excel(转载)
来源:https://jingyan.baidu.com/article/3065b3b68f2ab7becef8a449.html SQLServer2005或者SQLServer2008.SQLS ...
- javax.naming.NamingException: Cannot create resource instance报错修改
//下面内容为网上获取 avax.naming.NamingException: Cannot create resource instance at org.apache.naming.factor ...
- javascript中让你捉摸不定的this
this到底指向谁,估计很多人在使用javascript的过程中都遇到过,这个关键字如果没搞懂,在一些高级功能中都会困难重重,搜了下相关文章,介绍的都挺多的,也有很深入的,比如汤姆大叔的<深入理 ...
- Thymeleaf模板表达式
日期格式.组件提取等. ${#dates.format(date)}${#dates.arrayFormat(datesArray)}${#dates.listFormat(datesList)}${ ...
- vue 面试时需要准备的知识点
前端火热的框架层出不穷,作为码农的我们,依旧需要去学习,去探索新的问题,学习新技术,其实就是为了写一手好的,自认为是高质量的代码.今天主要分享一下前端最火的框架vue,也是我比较喜欢的框架. vue上 ...