热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

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

在Web.py,Django,Flask,Tornado里,自带的ORM功能比较缺乏,推荐大家使用SQLAlchemy来辅助开发

安装方法

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 ""%(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()
# >>> [, ]
AdminInfo.query.get(1) # 查询刚插入的第一条记录
# >>>
AdminInfo.query.filter_by(name = "gaoyiping")
# >>>


推荐阅读
  • PHP混淆代码的破解与理解
    本文探讨了PHP中常见的代码混淆技术及其破解方法,包括简单的变量名混淆和更复杂的加密技术。 ... [详细]
  • 提升工作效率:掌握15个键盘快捷键
    在日常工作中,熟练掌握计算机操作技巧能够显著提升工作效率。本文将介绍15个常用的键盘快捷键,帮助用户更加高效地完成工作任务。 ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
  • 本文详细介绍了Android系统的四层架构,包括应用程序层、应用框架层、库与Android运行时层以及Linux内核层,并提供了如何关闭Android系统的步骤。 ... [详细]
  • 探讨密码安全的重要性
    近期,多家知名网站如CSDN、人人网、多玩、开心网等的数据库相继被泄露,其中大量用户的账户密码因明文存储而暴露无遗。本文将探讨黑客获取密码的常见手段,网站如何安全存储用户信息,以及用户应如何保护自己的密码。 ... [详细]
  • spring(22)JdbcTemplate
    2019独角兽企业重金招聘Python工程师标准###1.导入jar包,必须jar包:c3p0、mysql-connector、beans、con ... [详细]
  • 本文详细介绍了 `org.apache.hadoop.hdfs.server.namenode.FSNamesystem.shouldUseDelegationTokens()` 方法的用途和实际应用场景,并提供了多个代码示例以帮助开发者更好地理解和使用该方法。 ... [详细]
  • 在Java开发中,保护代码安全是一个重要的课题。由于Java字节码容易被反编译,因此使用代码混淆工具如ProGuard变得尤为重要。本文将详细介绍如何使用ProGuard进行代码混淆,以及其基本原理和常见问题。 ... [详细]
  • 本文介绍如何通过参数化查询来防止SQL注入攻击,确保数据库的安全性。示例代码展示了在C#中使用参数化查询添加学生信息的方法。 ... [详细]
  • 开发笔记:[14]SQL 别名
    开发笔记:[14]SQL 别名 ... [详细]
  • oracle 对硬件环境要求,Oracle 10G数据库软硬件环境的要求 ... [详细]
  • 本文介绍了GitHub上的一些Python开源项目,特别是IM(即时通讯)技术的应用。通过Sealtalk项目,探讨了如何利用开源SDK提升开发效率。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • Linux环境下MySQL的安装与配置
    本文详细介绍了在Linux系统上安装和配置MySQL的步骤,包括安装前的准备工作、下载和解压安装包、初始化数据库、配置文件编辑、启动服务以及设置开机自启动等。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中安装 Python 3.7 的步骤,包括编译工具的安装、Python 3.7 源码的下载与编译、软链接的创建以及常见错误的处理方法。 ... [详细]
author-avatar
O八戒有点坏O
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有