zoukankan      html  css  js  c++  java
  • peewee在flask中的配置

    # 原文:https://blog.csdn.net/mouday/article/details/85332510
    Flask的钩子函数与peewee.InterfaceError: (0, '')
    2018年12月28日 22:56:07 彭世瑜 阅读数:70更多
    个人分类: flask
    版权声明:本文为博主原创文章,欢迎转载,请注明出处	https://blog.csdn.net/mouday/article/details/85332510
    问题
    使用flask搭了一个服务,用到了peewee模块,运行时间长了就报错
    
    peewee.InterfaceError: (0, '')
    1
    百度上一搜,发现有自己的文章
    
    peewee: OperationalError: (2006, ‘MySQL server has gone away’)
    
    那个时候,处理的是peewee2版本的问题,如今又在处理peewee3的问题,真是问题多多
    
    解决
    查看peewee的issue,看到一个回到,给出两个方案
    1、使用flask-peewee 模块
    2、使用flask的钩子函数
    
    尝试使用方案2:
    request来的时候打开数据库连接,response返回的时候关闭数据库连接
    
    根据文档给出的代码
    
    from flask import Flask
    from peewee import *
    
    database = SqliteDatabase('my_app.db')
    app = Flask(__name__)
    
    # This hook ensures that a connection is opened to handle any queries
    # generated by the request.
    @app.before_request
    def _db_connect():
        database.connect()
    
    # This hook ensures that the connection is closed when we've finished
    # processing the request.
    @app.teardown_request
    def _db_close(exc):
        if not database.is_closed():
            database.close()
    
    from flask import Flask
    from peewee import *
    
    database = SqliteDatabase('my_app.db')
    app = Flask(__name__)
    
    # This hook ensures that a connection is opened to handle any queries
    # generated by the request.
    @app.before_request
    def _db_connect():
        database.connect()
    
    # This hook ensures that the connection is closed when we've finished
    # processing the request.
    @app.teardown_request
    def _db_close(exc):
        if not database.is_closed():
            database.close()
    --------------------- 
    作者:彭世瑜 
    来源:CSDN 
    原文:https://blog.csdn.net/mouday/article/details/85332510 
    版权声明:本文为博主原创文章,转载请附上博文链接!
    参考:
    
    https://github.com/coleifer/peewee/issues/1546
    http://docs.peewee-orm.com/en/latest/peewee/database.html#flask
    http://docs.peewee-orm.com/en/latest/peewee/database.html#error-2006-mysql-server-has-gone-away
    
    
    
  • 相关阅读:
    ueditor 后端配置项没有正常加载,上传插件不能正常使用 UTF8 PHP
    dedecms 后台栏目全部展开 包括三级栏目
    修改DedeCMS图片上传路径命名规则的具体方法步骤
    dedecms织梦副栏目名称和链接调用
    当位于顶级栏目显示下级栏目,当位于二级栏目显示同级栏目,当位于三级目录,显示上级栏目
    织梦多个栏目arclist调用副栏目不显示的解决办法
    PL/SQL连接64位Oracle配置方法
    U盘分区之后如何恢复
    Myeclipse 的使用随笔
    eclipse和myeclipse的差别问题
  • 原文地址:https://www.cnblogs.com/lajiao/p/10434501.html
Copyright © 2011-2022 走看看