1.安装数据库连接依赖包
pip install flask-sqlalchemy
2.创建movie数据库
在CentOS虚拟机,进入MaridDB数据库提示符,创建movie数据库
create database movie
3.定义MaridDB数据库连接
在app目录下的__init__.py文件中添加以下内容
# _*_coding:utf-8_*_
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
import pymysql
实例化Flask类得到app对象
app = Flask(__name__)
定义连接的数据库
app.config
['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://root:root1234movie"
如果设置成True(默认情况),Flask-SQLAlchemy将会追踪对象的修改并且发送信号
这需要额外的内存,如果不必要的可以禁用
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
定义secret_key
app.config['SECRET_KEY'] = "6bd749587aad49399f674b202a07d56f"
db = SQLAlchemy(app)
4.定义数据模型类
在app目录下创建models.py文件,文件内容为
_*_coding:utf-8_*_
from datetime import datetime
from app import db
4.1 定义会员数据模型
会员
class User(db.Model):
__tablename__ = 'user' # 定义用户表在数据库中的名称
id = db.Column(db.Integer, primary_key=True) # 用户编号
name = db.Column(db.String(100), unique=True) # 呢称
pwd = db.Column(db.String(100)) # 密码
email = db.Column(db.String(100), unique=True) # 邮箱
phone = db.Column(db.String(11), unique=True) # 用户手机号码
info = db.Column(db.Text) # 个性简介
face = db.Column(db.String(255), unique=True) # 头像
addtime = db.Column(db.DateTime, index=True, default=datetime.utcnow) # 注册时间
uuid = db.Column(db.String(255), unique=True) # 唯一标识
userlogs = db.relationship("Userlog", backref='user') # 会员登录日志外键关系关联
comments = db.relationship('Comment', backref='user') # 评论外键关系关联
moviecols = db.relationship('Moviecol', backref='user') # 电影收藏外键关系关联
返回定义类型
def __repr__(self):
return "<User %r>" % self.name
检测密码,判断用户输入的密码是否与数据库中保存的用户的密码相同
def check_pwd(self,pwd):
from werkzeug.security import check_password_hash
return check_password_hash(self.pwd,pwd)