flask框架使用orm连接数据库的方法示例

yipeiwu_com7年前Python基础

本文实例讲述了flask框架使用orm连接数据库的方法。分享给大家供大家参考,具体如下:

注:使用前请安装flask_sqlalchemy包,由于python-mysql不适用于python3.6,所以我们使用pymysql进行替代

1. flask的app文件中输入以下代码

(文件名为:learn_flask_mysql_orm.py)

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"]="mysql+pymysql://root:@127.0.0.1:3306/learn_flask_mysql"
#注:请勿忘记添加'+pymysql',否则将会出现没有安装mysqldb的报错
db = SQLAlchemy(app)
@app.route('/')
def hello_world():
  return 'Hello World!'
if __name__ == '__main__':
  app.run()

2. 在flask文件夹中新建一个models.py文件,并输入以下代码

from learn_flask_mysql_orm import db
class User(db.Model):
  __tablename__ = 'user'
  user_id = db.Column(db.INT,primary_key=True)
  user_name = db.Column(db.TEXT)
  def __init__(self,user_id,user_name):
    self.user_id = user_id
    self.user_name = user_name
  def __str__(self):
    return "id:{}  name:{}".format(self.user_id,self.user_name)

3. 在flask中新建一个manage.py文件,输入以下代码

from flask_script import Manager
from models import User
from learn_flask_mysql_orm import app,db
manager = Manager(app)
@manager.command
def save():
  user = User(11,'zhangjia11')
  db.session.add(user)
  db.session.commit()
@manager.command
def query_all():
  users = User.query.all()
  for user in users:
    print(user)
if __name__ == "__main__":
  manager.run()

之后使用python manage.py save即可保存数据,使用python manage.py qurey_all即可查询数据

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python 文件和输入输出小结

1.打开和关闭文件(open(),file(),close()) 有两种内建函数可以获取文件对象:open和file。他们的用法完全一样。下面只以open()为例子讲解。获取一个文件对象...

解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享

解决方案 搜了一下,找到一个 Linux 下的解决方案,如下所示: 复制代码 代码如下: Sublime Text2 运行pySide/pyQt程序的问题 Ctrl-B后,界面不会弹出来...

python线程锁(thread)学习示例

复制代码 代码如下:# encoding: UTF-8import threadimport time# 一个用于在线程中执行的函数def func():  &nbs...

用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动

用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动

目标是拷贝微信的飞机大战,当然拷贝完以后大家就具备自己添加不同内容的能力了。 首先是要拿到一些图片素材,熟悉使用图像处理软件和绘画的人可以自己制作,并没有这项技能的同学只能和我一样从网上...

Python控制多进程与多线程并发数总结

Python控制多进程与多线程并发数总结

一、前言 本来写了脚本用于暴力破解密码,可是1秒钟尝试一个密码2220000个密码我的天,想用多线程可是只会一个for全开,难道开2220000个线程吗?只好学习控制线程数了,官方文档...