**app.py文件
config.py文件
models.py文件
views.py文件
**
在app.py文件中
from flask import Flask,request
from flask_sqlalchemy import SQLAlchemy
import config
app = Flask(__name__)
app.config.from_object(config)
db = SQLALchemy(app)
在config.py文件中
CSRF_ENABLED = True
SECRET_KEY = 'hello world'
USERNAME = '***'
PASSWORD = '***'
HOST = '**.**.**.**'
PORT = '****'
DATABASE = '**'
SQLALCHEMY_DATABASE_URI = 'mysql+mysqldb://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOST,PORT,DATABASE)
print(SQLALCHEMY_DATABASE_URI)
SQLALCHEMY_POOL_TIMEOUT = 6
SQLALCHEMY_MAX_OVERFLOW = 3
SQLALCHEMY_TRACK_MODIFICATIONS = False
在models.py文件中
from run import db
from sqlalchemy import ForeignKey
from sqlalchemy.orm import relationship
class User(db.Model):
__tablename__ = 'mysqltablename'
name = db.Column(db.String(255),primary_key=True,nullable=False)
email = db.Column(db.String(255),nullable=True)
***** = db.Column(db.Integer(),nullable=True)
***** = db.Column(db.Integer(),nullable=True)
pswd = db.Column(db.String(36),nullable=True)
***** = db.Column(db.Integer(),nullable=True)
***** = db.Column(db.Text,nullable=True)
#repr(),在调式时展现出来的名字
def __repr__(self):
return '<google_pub_no:{}>'.format(self.****)
在views.py文件中
from models import *
#一次插入一条数据
ro1 = User(name='admin')
db.session.add(ro1)
db.session.commit()
#再次插入一条数据
ro2 = Role(name='user')
db.session.add(ro2)
db.session.commit()
#一次插入多条数据
us1 = User(name='wang',email='wang@163.com',pswd='123456')
us2 = User(name='zhang',email='zhang@189.com',pswd='201512')
us3 = User(name='chen',email='chen@126.com',pswd='987654')
us4 = User(name='zhou',email='zhou@163.com',pswd='456789')
db.session.add_all([us1,us2,us3,us4])
db.session.commit()
#逻辑与,需要导入and,返回and()条件满足的所有数据。
from sqlalchemy import and_
User.query.filter(and_(User.name!='wang',User.email.endswith('163.com'))).all()
#或者不使用and_
User.query.filter(User.name!='wang',User.email.like('%163.com%')).all()