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 解决cv2绘制中文乱码问题

python 解决cv2绘制中文乱码问题

因为使用cv2.putText() 只能显示英文字符,中文会出现乱码问题, 因此使用PIL在图片上绘制添加中文,可以指定字体文件。 大体思路: OpenCV图片格式转换成PIL的图片格式...

Python中获取对象信息的方法

当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判断: >...

使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)

使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)

本文介绍了如何在pytorch下搭建AlexNet,使用了两种方法,一种是直接加载预训练模型,并根据自己的需要微调(将最后一层全连接层输出由1000改为10),另一种是手动搭建。 构建模...

Python实现网页截图(PyQT5)过程解析

方案说明 功能要求:实现网页加载后将页面截取成长图片 涉及模块:PyQT5 PIL 逻辑说明: 1:完成窗口设置,利用PyQT5 QWebEngineView加载网页地址,待网页加...

Python3中在Anaconda环境下安装basemap包

Python3中在Anaconda环境下安装basemap包

Basemap是matplotlib子包,也是python中最常用、最方便的地理数据可视化工具之一。 在中端输入pip list先查看是否有jupyter,一般安装了Anaconda都会...