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()
Flask-wtf之models数据库
猜你喜欢
转载自blog.csdn.net/qq_41661056/article/details/81135477
今日推荐
周排行