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: *********>

相关文章

python实现可逆简单的加密算法

python实现可逆简单的加密算法

最近想把word密码文件的服务器密码信息归档到mysql数据库,心想着如果直接在里面写明文密码会不会不安全,如果用sha这些不可逆的算法又没法还原回来,所以自己就想着用Python写一个...

Django查找网站项目根目录和对正则表达式的支持

Django查找网站项目根目录和对正则表达式的支持

如果你想通过http://127.0.0.1:8000/看网站根目录你将看到一个404错误消息。Django不会增加任何东西在网站根目录,在任何情况下这个URL都不是特殊的 就像在URL...

python模拟鼠标拖动操作的方法

python模拟鼠标拖动操作的方法

本文实例讲述了python模拟鼠标拖动操作的方法。分享给大家供大家参考。具体如下: pdf中的书签只有页码,准备把现有书签拖到一个目录中,然后添加自己页签。重复的拖动工作实在无趣,还是让...

Django错误:TypeError at / 'bool' object is not callable解决

使用 Django自带的 auth 用户验证功能,编写函数,使用 is_authenticated 检查用户是否登录,结果报错: TypeError at / 'bool' object...

python3+selenium自动化测试框架详解

python3+selenium自动化测试框架详解

背景 为了更好的发展自身的测试技能,应对测试行业以及互联网行业的迭代变化。自学python以及自动化测试。 虽然在2017年已经开始接触了selenium,期间是断断续续执行自动化测...