#coding:utf-8 #SQLAlchemy 是一个 Python 包,其最底层包装了对数据库进入操作的统一接口,然后在最上层提供了对象关系映射(ORM)的实现。 from flask_sqlalchemy import SQLAlchemy #引入Flask类,Flask实现了一个WSGI对象 from flask import Flask import os print(123) basedir=os.path.abspath(os.path.dirname(__file__)) print(basedir) #__name__当前模块的名字 #Flask(__name__)的作用是通过Flask.helper.get_root_path()获取这个文件的根路径,以便找到对应静态文件和模块 #初始化,创建一个Flask可以运行的实体 app=Flask(__name__) #数据库的url app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://root:123456@127.0.0.1:3306/pytest' #'mysql+pymysql://root:fanguiju@127.0.0.1:3306/jmilkfansblog' # 如果设置成 True (默认情况),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。这需要额外的内存, 如果不必要的可以禁用它。 app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db = SQLAlchemy(app) print(db) class user_info(db.Model): __tablename__='qky' id=db.Column(db.Integer,primary_key=True) name=db.Column(db.String(30)) pwd=db.Column(db.String(10)) def __init__(self, id, name, pwd): self.id=id self.name = name self.pwd = pwd def __repr__(self,name): return '<qky %s>'%self.name '''这个函数,对应repr(object)这个功能。意思是当需要显示一个对象在屏幕上时,将这个对象的属性或者是方法整理成一个可以打印输出的格式。 这个功能与eval也可以对应。打印出的结果直接放到eval里,通常可以获得原来的对象。 比如t1=datetime.datetime.now() print repr(t1) 结果是 datetime.datetime(2014, 9, 9, 6, 34, 29, 756000) 与此相类似的功能是__str__ 比如你有一个People类,当打印时你只希望它打印出人名,那么你可以在__str__函数里写上return self.name , 这样当需要People当作一个字符串时,返回的就是人名。 你使用 print str(t1)时结果是 2014-09-09 06:34:29.756000 ''' #建立表 #db.drop_all() #db.create_all() qky=user_info(id=4, name='qk1ysu1',pwd='121s3') db.session.add(qky) db.session.commit()
本文介绍如何利用Flask框架结合SQLAlchemy组件来快速搭建并操作数据库,包括环境配置、模型定义及数据增删改查等基本操作。
1917

被折叠的 条评论
为什么被折叠?



