Flask-wtf之models数据库

import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
from flask_bootstrap import Bootstrap
from werkzeug.security import generate_password_hash, check_password_hash ##密码加密与解密

"""
# session设置:
    1). 
    2). 
    3). 
app = Flask(__name__)  
app.config['SECRET_KEY'] = '123456'  
# or  
app.secret_key = '123456'  
# or  
app.config.update(SECRET_KEY='123456')  

"""

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://root:redhat@localhost/OrmFlask" ##连接数据库
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']='True'  ##数据库修改跟踪,为了安全必须写,不写报错
app.config['SECRET_KEY'] = os.urandom(24)  ##随机生成的24个字符的密码

Bootstrap(app)  ##用bootstrap渲染这个项目
# 实例化db对象
db = SQLAlchemy(app)


class User(db.Model):
    id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    # unique: 指定该列信息是唯一的;
    name = db.Column(db.String(50), unique=True)
    # 此处为了用户帐号的安全性, 必须对密码进行加密;
    pwd = db.Column(db.String(100))
    email = db.Column(db.String(20), unique=True)
    phone = db.Column(db.String(20), unique=True)
    info = db.Column(db.Text)  # 个性简介
    add_time = db.Column(db.DateTime, default=datetime.now())
    userlogs = db.relationship('UserLog', backref="user")


# 用户登录日志
class UserLog(db.Model):  ##数据库中表名为user_log
    id = db.Column(db.Integer, autoincrement=True, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    ip = db.Column(db.String(100))  # 登录的IP
    add_time = db.Column(db.DateTime, default=datetime.now())
    area = db.Column(db.String(100))  # 登录的城市




db.create_all()

猜你喜欢

转载自blog.csdn.net/qq_41661056/article/details/81135477