import sqlite3

import click

from flask import current_app, g

from flask.cli import with_appcontext

def get_db():

if 'db' not in g:

g.db = sqlite3.connect(

current_app.config['DATABASE'],

detect_types = sqlite3.PARSE_DECLTYPES

)

g.db.row_factory = sqlite3.Row

return g.db

def close_db(e=None):

db = g.pop('db', None)

if db is not None:
db.close()

def init_db():

db = get_db()

with current_app.open_resource('schema.sql') as f:
db.executescript(f.read().decode('utf8'))

@click.command('init-db')

@with_appcontext

def init_db_command():

"""Clear the existing data and create new tables."""

init_db()

click.echo('Initialized the database.')

def init_app(app):

app.teardown_appcontext(close_db)

app.cli.add_command(init_db_command)

Flask文件目录----- db文件的更多相关文章

  1. Flask文件目录----- __init__ 文件

    import os from flask import Flask def create_app(test_config=None): # 创建和设置app app = Flask(name, ins ...

  2. Flask笔记:文件上传

    文件上传 enctype:在HTML中的form表单中form标签默认是`enctype="application/x-www-form-urlencoded"`,在文件上传时需要 ...

  3. 将android模拟器上的db文件拷贝到电脑上

    1. db文件在android手机中的存储地址一般都是/data/data/packname/databases/db_file. 2.打开cmd,运行 adb shell ,使用root权限 3.通 ...

  4. 【原】使用SQLite打开本地*.db文件

    1.下载安装文件:官网下载地址:http://www.sqlite.org/download.html32位安装包:http://www.sqlite.org/2016/sqlite-tools-wi ...

  5. 如何将SQLite数据库(dictionary.db文件)与apk文件一起发布

      可以将dictionary.db文件复制到Eclipse Android工程中的res\raw目录中,如图1所示.所有在res\raw目录中的文件不会被压缩,这样可以直接提取该目录中的文件.使 用 ...

  6. 获得临时文件目录(Temp文件夹)

    C:\Users\ADMINI~1\AppData\Local\Temp\   //GetTempPath获得临时文件目录(Temp文件夹)  function TempPath:String;var ...

  7. android数据库操作之直接读取db文件

    在对数据库操作时,常用的有两种方法: 1.在代码中建库.建表: 2.直接将相关库.表建立好,将db文件拷贝至assets目录下:     现在来看看第二种方法:   private String Ge ...

  8. Android打开外部DB文件

    DB文件要放在Assets文件夹下,封装一个工具类,如下: package com.XX.DB; import java.io.File; import java.io.FileOutputStrea ...

  9. 查看DB文件的空间使用情况

    可以使用如下语句获得DB文件的空间使用 use dbName SELECT DB_NAME() AS DbName, name AS FileName, size/128.0 AS CurrentSi ...

随机推荐

  1. Python中的Numpy包

    通过本次学习你可以掌握Numpy Numpy介绍(获取地址)更多Numpy函数 numpy的主要对象是同质多维数组.也就是在一个元素(通常是数字)表中,元素的类型都是相同的. numpy的数组类被成为 ...

  2. luogu3380 树套树之线段树套线段树

    个人感觉可能是最不需要脑子写的方法 不过也不太好调 就是用一个普通的线段树维护这个序列,但是对于线段树的每一个区间,再开一个动态开点的权值线段树,里面存储这个区间所有元素值 单点修改只会涉及到log棵 ...

  3. C++基础学习8:类的定义(class)

    先来说说C和C++中结构体的不同 a) C语言中的结构体不能为空,否则会报错(??) b) C语言中内存为空结构体分配大小为0,C++中为结构体和类分配大小为1byte c) C语言中的结构体只涉及到 ...

  4. Python中使用Beautiful Soup库的超详细教程

    [参考文献] http://www.jb51.net/article/65287.htm

  5. .NET Services Stack笔记之手写版

  6. 3. mybatis # 与 $ 的区别

    mybatis # 与 $ 的区别 1.# % 号必须写在test中 应用场景:模糊查询 配置文档mapper.xml <select id="selectBlogByTitle&qu ...

  7. git 日常使用从入门到真香

    目录 git 日常使用从入门到真香 一.Git简介 二.Git常用命令 三.git操作流程 四.报错处理 git 日常使用从入门到真香 一.Git简介 Git是一个开源的分布式版本控制系统,可以有效. ...

  8. Ubuntu Server 使用 PPA 安装 Java (JDK) 8

    前言 在 Ubuntu Server 中使用 PPA 安装 JDK 相比去 Oracle 官网下载包配置环境变量的好处是,安装方便快捷,还可以 apt-get 更新. 步骤 添加 Java 8 的 P ...

  9. 【学习笔记】jQuery的基础学习

    [学习笔记]jQuery的基础学习 新建 模板 小书匠  什么是jQuery对象? jQuery 对象就是通过jQuery包装DOM对象后产生的对象.jQuery 对象是 jQuery 独有的. 如果 ...

  10. NAS与SAN RAID

    存储区域网络 SAN 存储区域网络(Storage Area Network,简称SAN)采用网状通道(Fibre Channel ,简称FC,区别与Fiber Channel光纤通道)技术,通过FC ...