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

yipeiwu_com5年前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: *********>

相关文章

Python中应该使用%还是format来格式化字符串

%还是format 1、皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我...

详解django实现自定义manage命令的扩展

在Django开发过程中我们都用过django-admin.py和manage.py命令。 django-admin.py是一个命令行工具,可以执行一些管理任务,比如创建Django项目...

Python入门_学会创建并调用函数的方法

Python入门_学会创建并调用函数的方法

这篇文章主要介绍下如何创建并调用函数。 print():是打印放入对象的函数 len():是返回对象长度的函数 input():是让用户输入对象的函数 ... 简单来说,函数就是将对象放...

python 矢量数据转栅格数据代码实例

这篇文章主要介绍了python 矢量数据转栅格数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 投影包osr与proj4的使...

Python实现隐马尔可夫模型的前向后向算法的示例代码

本篇文章对隐马尔可夫模型的前向和后向算法进行了Python实现,并且每种算法都给出了循环和递归两种方式的实现。 前向算法Python实现 循环方式 import numpy as...