from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_user import login_required,UserManager,UserMixin,SQLAlchemyAdapter
app = Flask(__name__)
app.config['SECRET_KEY'] = "thisisasecret"
app.config['SQLALCHEMY_DATABASE_URI']="sqlite:///database.db" #数据库的存放路径(我使用相对
#路径)
app.config["CSRF_ENABLED"]=True
app.config['USER_ENABLE_EMAIL'] = False
db = SQLAlchemy(app)
class User(db.Model,UserMixin):
id = db.Column(db.Integer , primary_key=True)
username = db.Column(db.String(50),nullable = False , unique = True)
password = db.Column(db.String(255),nullable = False ,server_default = '')
active = db.Column(db.Boolean(),nullable = False,server_default = "0")
db_adapter = SQLAlchemyAdapter(db,User)
user_namager=UserManager(db_adapter,app)
@app.route("/")
def index():
return "<h1>this is the home page!</h1>"
@app.route("/profile")
@login_required
def profile():
return "<h1>this is the protected profile page!</h1>"
if __name__ == '__main__':
app.run(debug=True)
使用的是sqlite3
目录结构如下:
启动步骤:
pip install -r require.txt (安装需要的包)
from app import db
db.create_all() (创建数据库表)
效果:
注册:
pip导出拓展包版本
pip freeze -> require.txt