flask中使用SQLAlchemy进行辅助开发的代码

yipeiwu_com6年前Python基础

安装方法

1)、apt-ge安装

复制代码 代码如下:

sudo apt-get install Flask-SQLAlchemy

2)、下载安装包进行安装

复制代码 代码如下:

# 安装后可直接在py中使用
import flask
from flask.ext.sqlalchemy import SQLAlchemy

app = flask.Flask(__name__)
# - Settings里配置了SqlAlchemy的数据库地址
# sqlite ex: "sqlite:///dbname.db"
app.config.from_object("Settings")
db = SQLAlchemy(app)
db.init_app(app)
# - create_all() 调用时将会创建所有继承db.Model的模版
# Model ex: 见 Class AdminInfo
db.create_all()

class AdminInfo(db.Model):
  id = db.Column(db.Integer, primary_key = True)
  name = db.Column(db.String(16))
  password = db.Column(db.String(32))
  kidname = db.Column(db.String(16))
  diy_show = db.Column(db.Text)

  def __init__(self, name, password, kidname, diy_show):
    self.name = name
    self.password = password
    self.kidname = kidname
    self.diy_show = diy_show

  def __repr__(self):
    return "<name: %s  pw: %s>"%(self.name, '*'*len(self.password))

这样就是就可以在render 模版时使用SQLAlchemy了。

复制代码 代码如下:

# 对AdminInfo进行操作
ai = AdminInfo("gaoyiping", "gaoyiping", u"我叫高一平", u"大家好,我叫高一平,你叫什么?我们交个朋友啊。")
# 这样就已经实例了一个SQL Data
# 对db进行插入
db.session.add(ai)
# 对db commit
db.session.commit()

# 如果进行查询
AdminInfo.query.all()
# >>> [<name: gaoyiping  pw: *********>, ]
AdminInfo.query.get(1) # 查询刚插入的第一条记录
# >>> <name: gaoyiping  pw: *********>
AdminInfo.query.filter_by(name = "gaoyiping")
# >>> <name: gaoyiping  pw: *********>

相关文章

python3-flask-3将信息写入日志的实操方法

使用logging模块,记录日志信息 安装模块 pip3 install logging 脚本示例 vim flask_api_logging.py #!/usr/bin/e...

python 实现兔子生兔子示例

如下所示: # -*- coding: utf-8 -*- # 简述:话说有一对可爱的兔子,出生后的第三个月开始,每一月都会生一对小兔子。 # 当小兔子长到第三个月后,也会每个月再生...

python3 assert 断言的使用详解 (区别于python2)

python3 和python以前的版本有点不同 如果你断言的 语句正确 则什么反应都没有 但是如果你出错之后 就会报出 AssertionError 并且错误可以自己填写 格式 :...

python批量查询、汉字去重处理CSV文件

CSV文件用记事本打开后一般为由逗号隔开的字符串,其处理方法用Python的代码如下。为方便各种程度的人阅读在代码中有非常详细的注释。 1.查询指定列,并保存到新的csv文件。 #...

python Crypto模块的安装与使用方法

python Crypto模块的安装与使用方法

前言 最开始想尝试在windows下面安装python3.6,虽然python安装成功,但在安装Cryto模块用pip3 install pycrypto老是会报错。老夫搞了半天,最终决...