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

yipeiwu_com6年前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切片及sys.argv[]用法详解

一、python切片 a=a[::-1] 倒序 a=a[1:10:2] 下标1~10,以2间隔取 a=a[::2] 2间隔返回a[:] a=[1,2,3,4,5,6,7] print...

python 写入csv乱码问题解决方法

需求背景 最近为公司开发了一套邮件日报程序,邮件一般就是表格,图片,然后就是附件。附件一般都是默认写到txt文件里,但是PM希望邮件里的附件能直接用Excel这种软件打开,最开始想保存...

使用python实现http及ftp服务进行数据传输的方法

服务器之间的http数据传输 直接使用python内置的http服务: python -m SimpleHTTPServer 8000 此时,输入指令的目录就已经开启了http服务...

Python2实现的LED大数字显示效果示例

Python2实现的LED大数字显示效果示例

本文实例讲述了Python2实现的LED大数字显示效果。分享给大家供大家参考,具体如下: #filename:bigNumber.py zero=['*******','* *'...

Python的垃圾回收机制深入分析

一、概述: Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(mark and swee...